Methods and arrangements for retransmission schemes

ABSTRACT

Logic to determine a first set of packets for transmission to a second STA in an aggregated medium access control (MAC) protocol data unit (A-MPDU). Logic to identify a retransmission scheme to determine a first number of packets to transmit based on the first set of packets. Logic to generate network coded packets for transmission in the A-MPDU, wherein the network coded packets comprise encoded combinations of the first set of packets. Logic to generate the A-MPDU for transmission to the second STA with the first number of packets. Logic to cause transmission of the A-MPDU. And logic to receive a block acknowledgement (BlockAck) comprising a feedback value, wherein the feedback value is a number of additional network coded packets requested by the second STA to decode the first set of packets or a number of packets received by the second STA.

TECHNICAL FIELD

This disclosure generally relates to methods and arrangements forwireless communications and, more particularly, to network codingretransmission schemes.

BACKGROUND

Today's Wi-Fi system does not have an efficient way to deliver a packetwith very high reliability with low latency. The physical layer (PHY)can use a low modulation and coding scheme (MCS) to lower the packeterror rate (PER), however, due to interferences caused by transmissionsbetween other access points (APs) and stations (STAs) in the samefrequency band at the same time, packet losses are inevitable.Retransmissions after a packet is dropped can improve reliability, butto reach a high reliability multiple retransmissions are necessary, andthe latency may increase significantly. Another way to improvereliability is duplication, where the packet is repeated in thetransmission within same frame or transmission opportunity (TXOP).However, this method significantly lowers the spectral efficiency. IfPER is 0.1 and target reliability is 10⁶, then six duplicated packetsneed to be transmitted, lowering the effective data rate by 6×.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A depicts a system diagram illustrating an embodiment of a networkenvironment for retransmission logic circuitry, in accordance with oneor more example embodiments.

FIG. 1B depicts an embodiment illustrating interactions between stations(STAs) of a collated access point (AP) multi-link device (MLD) and anon-collocated AP MLD.

FIG. 1C depicts an embodiment of a system including multiple MLDs.

FIGS. 1D-1G illustrate embodiments of an architecture for STAs, such asthe wireless interfaces for STAs depicted in FIGS. 1A-C, to implementretransmission logic circuitry.

FIG. 2A depicts an embodiment of network coding.

FIG. 2B depicts an embodiment of an aggregated MAC PDU (A-MPDU).

FIG. 2C depicts an embodiment of a packet flow for a retransmissionscheme.

FIG. 2D depicts an embodiment of a network coding retransmission scheme.

FIG. 2E depicts an embodiment of a strategy for a retransmission scheme.

FIG. 2F depicts an embodiment of a two-step optimization approach.

FIG. 2G depicts another embodiment the two-step optimization approach.

FIG. 2H depicts another embodiment the two-step optimization approach.

FIG. 2I depicts an embodiment of a graph for a continuous casealgorithm.

FIGS. 2J-2K depict embodiments of numerical results for the discretecase algorithm and a practical Wi-Fi configuration that requires thecontinuous case algorithm.

FIG. 3 depicts an embodiment of a wireless communications interface.

FIGS. 4A-4C depict embodiments of flowcharts to implement retransmissionlogic circuitry such as the retransmission logic circuitry discussed inconjunction with FIGS. 1-3 .

FIGS. 4D-E depict embodiments of flowcharts to generate and transmitframes and receive and interpret frames for communications betweenwireless communication devices.

FIG. 5 depicts an embodiment of a functional diagram of a wirelesscommunication device, in accordance with one or more example embodimentsof the present disclosure.

FIG. 6 depicts an embodiment of a block diagram of a machine upon whichany of one or more techniques may be performed, in accordance with oneor more embodiments.

FIGS. 7-8 depict embodiments of a computer-readable storage medium and acomputing platform to implement retransmission logic circuitry.

DETAILED DESCRIPTION OF EMBODIMENTS

The following description and the drawings sufficiently illustratespecific embodiments to enable those skilled in the art to practicethem. Other embodiments may incorporate structural, logical, electrical,process, algorithm, and other changes. Portions and features of someembodiments may be included in, or substituted for, those of otherembodiments. Embodiments set forth in the claims encompass all availableequivalents of those claims.

Network coding, which may be a linear packet-level coding, in this caseis a better-suited technology for low-latency and high-reliability datatraffic. Network coding linearly combines data packets to form newencoded packets, which introduces dependence among them. By this reason,as long as a sufficient number of encoded packets (regardless of whichones) are correctly received at the receiver, the original data packetscan be recovered despite the possible losses of all other encodedpackets. Compared to current retransmission schemes, network codingproactively adds redundancy to the traffic and significantly reducesdelay. Compared to packet duplication which is also a proactive scheme,network coding is much more spectrally efficient and not too much extracomputational complexity is needed for encoding and decoding.Furthermore, network coding can also be combined with retransmissions toform a hybrid scheme, which has the benefits from both schemes. On theone hand, the proactively added redundancy in network coding at each(re)transmission can increase the chance of packet recovery at eachtransmission, thus reducing the number of retransmissions needed and thedelay involved with packet recovery. On the other hand, theopportunities to get acknowledgement from the receiver and to retransmitonly when needed can reduce unnecessary transmissions of redundant dataand save radio resources.

We studied a practical configuration to implement the hybrid networkcoding scheme in Wi-Fi, utilizing the aggregated MAC PDU (A-MPDU) framestructure which aggregates multiple encoded packets as its subframes. Incase these packets are not enough for recovering the original set ofpackets, a short BlockAck frame may be used to notify the sender andextra encoded packets can be sent in a subsequent A-MPDU frame. Toimplement such a hybrid scheme, many embodiments may perform a processto find the optimal number of encoded packets to send in eachtransmission and retransmission to minimize the radio resourceconsumption for successful data delivery, hence maximizing the spectralefficiency.

Embodiments herein may find retransmission scheme(s) using networkcoding under a time constraint, i.e., with a time limit for datatransmissions. For example, due to the low latency requirement of somedata traffic, a transmitter may not be able to afford the waiting timefor channel access between transmission opportunities (TXOPs), andhence, some embodiments, impose a time constraint of completing any datatransmission and retransmissions within one TXOP.

As we cannot have an infinite number of retransmissions within finitetime, the data delivery may not be guaranteed to be successful. Instead,we may have a nonzero failure probability which we want to minimize ifhigh reliability is also required for the data traffic. However,minimizing the data failure probability is not the sole objective forthe optimization. If the level of reliability is already adequate forthe data traffic, we still want to minimize the radio resourceconsumption, i.e., to maximize the spectral efficiency. For instance, iftwo schemes both achieve a required reliability, then the one withhigher expected spectral efficiency (or smaller expected time usage) ispreferred.

The two objectives are often in conflict though, since, in general, toreach higher reliability, more resources are required, whichautomatically lowers the spectral efficiency. In practice, differentbalance points between reliability and spectral efficiency (i.e.,different rate-reliability trade-off) may be desired in differentscenarios. For embodiments discussed herein, instead of directlyoptimizing toward the balance point of a given scenario, retransmissionlogic circuitry may find all the schemes that have the potential to beoptimal for a certain scenario, given the time constraint. Specifically,retransmission logic circuitry may find the optimal rate-reliability“curve”, which is achieved by all schemes that do not underperform anyother scheme in at least one performance measure. In doing so, theretransmission logic circuitry may find all the schemes that have thepotential to be optimal for some scenario. For instance, if a firstscheme is outperformed in all measures by another scheme, the firstscheme cannot be optimal in any scenario. Mathematically, the curve iscalled the set of Pareto optimal points in terms of reliability andspectral efficiency, and the schemes may be referred to as Paretooptimal schemes. As the size of this set is usually significantlysmaller than the set of all possible schemes, optimizing (over thePareto optimal set) toward a particular balance point for a givenscenario is usually much simpler.

Embodiments may comprise retransmission logic circuitry to determine oridentify a retransmission scheme and implement retransmission scheme toimprove the efficiency related to retransmission of dropped packets(erasure) when packets cannot be validated at the receiver. Manyembodiments implement network coding to encode packets at the mediumaccess control (MAC) layer with linearly independent encodings and, manyembodiments encode linear combinations of a set of packets such thatretransmission logic circuitry of the receiver need only receive thesame number (e.g., k) of network coded packets that retransmission logiccircuitry of a transmitter transmits to the receiver to decode theentire set of k original packets that the transmitter is attempting totransmit to the receiver.

Many embodiments may focus on retransmission schemes for A-MPDUs due tothe low overhead associated with A-MPDUs but embodiments are not solimited. Many embodiments focus on retransmission schemes with atime-constraint (T) such as a time limit to a single transmissionopportunity (TXOP) but embodiments are not limited to a time-constraintof a single TXOP.

Many embodiments implement Pareto optimal schemes by identifying aPareto optimal retransmission scheme from a set of the Pareto optimalschemes based on the reliability and spectral efficiency specified forthe retransmission scheme and based on the time-constraint (T) for theretransmission scheme. The retransmission schemes may have proactive andreactive retransmission strategies based on assumption of a packet lossbeing independent and identically distributed such as a packet loss rate(e_(r)) that remains within plus or minus 10%, plus or minus 20%, orplus or minus 30% of the assumed packet loss rate over a transmissionand/or over multiple transmissions.

Many embodiments generate a full set of retransmission schemes, referredto as S(k′,T), and reduce the full set of retransmission schemes to aset of schemes, referred to as P(k′,T), that outperform other schemes interms of reliability and/or spectral efficiency. For instance, manyembodiments may determine an expected time usage for each scheme, afailure probability for each scheme, and a packet loss probability foreach scheme. The expected time usage may be indicative of a spectralefficiency and the failure probability and packet loss probability maybe indicative of a reliability.

Note that a retransmission scheme may comprise a strategy (g) andsub-strategies (g_(z,t)). The strategy may be illustrated as a treewhere each point, or branch (e.g., B₀), along a tree within the strategyor within a sub-strategy represents a time (e.g., T₁) within thetime-constraint (T) at which feedback may be received fromretransmission logic circuitry of the receiver to select one of one ormore possible sub-strategies. Each branch includes a set of possiblesub-strategies for the branch. For instance, assume an original set of kpackets provided for transmission from retransmission logic circuitry ofa transmitter to retransmission logic circuitry of a receiver includesten packets (k=2). The number of network coded packets n are generatedbased on the original set of k packets is ten (n=10). The number (x₁) ofnetwork coded packets sent in a first transmission to the receiver in afirst transmission is three (x₁=3). Then the number of packets (e.g.,Z₁) possibly received by a receiver may be between one and three. Thus,the strategy (g) may include a set of sub-strategies (e.g., z₁) definedfor each possible number of packets received by the receiver such asbetween zero and three. In other words, the number of sub-strategies onthe first branch may include four different sub-strategies. Note thatthe number of packets that can be transmitted (e.g., x₂) in a firstretransmission in accordance with each sub-strategy is also limited tothe time remaining (e.g., T₁) within the time constraint (T).

The strategy (g) may define the number (x₁) of network coded packetsthat are transmitted in the first transmission within thetime-constraint (T). For instance, data provided to the MAC layer fortransmission may be included in a set of MAC frames or packets calledMAC service data units (MSDUs). Without implementation of aretransmission scheme described herein, the MAC layer may pass the setof packets to the physical layer (PHY) as an A-MPDU. The A-MPDUcomprises a set of A-MPDU subframes. Each A-MPDU subframe may compriseone MAC protocol data unit (MPDU), which may be one MSDU. If there are10 MDPUs, the PHY may transmit an A-MPDU with 10 A-MPDU subframes. Notethat embodiments are not limited to one network coded packet per A-MPDUsubframe. Some embodiments may include more than one network codedpacket per A-MPDU.

For retransmission schemes described herein, however, the number (x₁) ofnetwork coded packets transmitted in the first transmission and, ifapplicable, in each of one or more subsequent retransmissions (x₁) mayrange between one packet and more than ten packets, depending on theretransmission scheme selected, the reliability that may be specified,the spectral efficiency that may be specified, the expected packet lossrate (e_(r)) (or error rate), the time constraint for retransmission(T), and/or other factors and boundaries discussed herein.

The sub-strategies for a strategy (g) may comprise the second andsubsequent numbers of network coded packets transmitted to the receiver.The retransmission logic circuitry of the transmitter may determinenumber of packets to transmit for a sub-strategy based on the feedbackvalue from the receiver as well as the time remaining for the subsequenttransmissions. Identification of the number of packets to transmit andthe time remaining for transmission for a sub-strategy identifies thesub-strategy. For instance, after the first network coded packettransmission, the time remaining within the time constraint for theretransmission scheme may be the total time of the time constraint (T)minus the sum of the transmission time (x_(i)*τ) and the sum (d) of thegap time and the feedback time consumed by the first (initial) networkcoded packet transmission. The feedback value (Z_(i)) may include avalue that is the number of packets that the receiver actually receivedor decoded, or the number of packets that the receiver still needs toreceive and/or decode to have the set of packets that the retransmissionlogic circuitry of the transmitter is attempting to transmit to thereceiver. Each subsequent recursion (i) will reduce the amount of timeremaining (T_(i)) and may reduce the number of packets (k−Z_(i)) thatthe receiver still needs to receive from the receiver to have the entireoriginal set of k packets. Note that, in many embodiments, each subsetof k network coded packets are linearly independent, so the receiveronly needs to receive the same number of network coded packets as thenumber of packets (k) in the set of packets that the retransmissionlogic circuitry of the transmitter is attempting to transmit to thereceiver.

As a simple illustration, if the retransmission logic circuitry receivesa set of four packets (k=4) to transmit to the receiver, theretransmission logic circuitry may determine that the retransmissionscheme may have to transmit up to fourteen network coded packets tosuccessfully transmit the set of four packets to the receiver. Theretransmission logic circuitry may generate the fourteen network codedpackets in a pool of network coded packets for transmission or maygenerate the fourteen network coded packets as the need arises (justprior to transmission) to perform a strategy or sub-strategy of theretransmission scheme. In many embodiments, the retransmission logiccircuitry may systematically encode the original set of k packets tocreate the network coded packets in an order (e.g., network codedpackets one through fourteen) and may cause transmission of the networkcoded packets in that order. Thus, the retransmission logic circuitry ofthe receiver may know the encoding for each network coded packet of thepool of network coded packets one through fourteen based on the order inwhich the network coded packets are received.

In some embodiments, the retransmission logic circuitry of thetransmitter may cause transmission of x₁ network coded packets in thefirst transmission and provide an indication, e.g., in the header of theA-MPDU, that the total number of packets (k) in the set of packets isfour (k=4), the retransmission logic circuitry of the receiver maycomprise logic circuitry to decode the x₁ network coded packets. In someembodiments, the first four packets may be the original set of fourpackets and the fifth packet may be an encoded linear combination of theset of four packets. In other embodiments, the x₁ network coded packetsmay comprise x₁ linearly independent combinations of the set of fourpackets.

Continuing with the simple illustration, upon receipt of the x₁ networkcoded packets, the retransmission logic circuitry of the receiver maydecode one packet without errors. As a result, the retransmission logiccircuitry of the receiver may determine that one packet is received ordecoded, and/or determine that the retransmission logic circuitry of thereceiver requests to receive three more network coded packets to decodethe set of four packets that the retransmission logic circuitry of thetransmitter is attempting to transmit to the receiver. In this simpleillustration, the retransmission logic circuitry of the receiver maygenerate a BlockAck that includes a feedback value of one to indicatethat the receiver received or decoded one packet or that the receiverrequests three packets to be able to decode all the packets of theoriginal set of four packets. Note that the BlockAck does not have toinclude a bitmap indicating which packet(s) the receiver requests orneeds. The feedback value may just indicate that three packets arerequested or that one packet was received and/or decoded, whichadvantageously, can reduce the size and transmission time of BlockAckframe with respect to other BlockAck policies, reducing the overhead ofgenerating and transmitting BlockAcks as feedback.

Upon receipt of the feedback value of one or three, the retransmissionlogic circuitry of the transmitter may generate an A-MPDU comprising(x₂), e.g., four, network coded packets in accordance with theretransmission scheme and pass the A-MPDU to the PHY for transmission tothe receiver. If the retransmission logic circuitry of the receiver isable to decode at least three of the four network coded packets, theretransmission logic circuitry of the receiver has received all thepackets from the original set of k packets that the retransmission logiccircuitry of the transmitter was attempting to transmit. If sufficienttime remains in accordance with the time constraint (T) forretransmission, the retransmission logic circuitry of the transmittermay generate the A-MPDU with an indication to request an immediateBlockAck and the retransmission logic circuitry of the receiver mayrespond to the A-MPDU with a BlockAck comprising a feedback value offour to indicate that the entire set of four packets of the original setof k packets (or three of the network coded packets) have been received.Alternatively, the BlockAck may comprise a feedback value of zero toindicate that zero more network coded packets are requested to indicatethat the entire set of four packets are decoded or at least four of thenetwork coded packets have been received. The retransmission logiccircuitry of the transmitter may interpret the feedback value of three(or four or zero, depending on the type of feedback value) to indicatethat the receiver has received all the packets of the original set offour packets and terminate the retransmission scheme for the originalset of four packets.

In this example embodiment, considering that the maximum number ofnetwork coded packets that might be required for the pool of networkcoded packets is fourteen, the retransmission logic circuitry of thetransmitter may generate ten network coded packets that are linearcombinations of the set of four packets for the pool of network codedpackets and may include or concatenate the set of four packets to thepool of network coded packets. In other embodiments, the retransmissionlogic circuitry of the transmitter may generate fourteen network codedpackets that are linear combinations of the set of four packets togenerate the pool of network coded packets for the retransmissionscheme. In yet other embodiments, the retransmission logic circuitry ofthe transmitter may encode the set of four packets to include in thepool of network coded packets along with additional network codedpackets that are linear combinations of the set of four packets.

The expected time usage, σ_(k,T)(g), for each retransmission scheme maybe based on the number of network coded packets transmitted first to thereceiver (x₁) as well as the number of network coded packets transmittedto the receiver in each possible set of subsequent transmissions (x₂through x_(n)) based on the possible combinations of sub-strategies. Theexpected time usage may also be based on the assumption that the networkcoded packets are all the same size, an assumption of a transmissiontime for each of the network coded packets (τ), and an assumption of asum (d) of the gap time and the feedback time for feedback, which mayinclude, e.g., the time for transitioning between receive mode andtransmit mode for the receiver and/or the time for transitioning betweentransmit mode and receive mode for the transmitter, the time fortransmitting the feedback, and the time for transitioning thetransmitter and receiver back to the transmit and receive modes,respectively.

The decoding failure probability, η_(k,T)(g), for the firstretransmission of each retransmission scheme may be the sum of theprobabilities for each of the sub-strategies for the firstretransmission that the actual number of packets remaining to transmitto the retransmission logic circuitry of the receiver (Z₁) at the firstsub-strategy, is equal to the number of packets to transmit (z) by eachof the possible first sub-strategies for the first retransmissionmultiplied by the failure probability of each possible firstsub-strategy (g_(k,z)) from one (z=1) to the number of packets in theset of packets (z=k) that the retransmission logic circuitry of thetransmitter is attempting to transmit to the receiver. The totaldecoding failure probability for each retransmission scheme is thedecoding failure probability for the first retransmission multiplied bythe decoding failure probability for each subsequent retransmission,taking into account the constraints and conditions for each subsequentretransmission.

The packet loss probability, {tilde over (η)}_(k,T)(g), for the firstretransmission of each retransmission scheme may be the packet loss rate(e_(r)) for the transmission medium multiplied by the sum of theprobabilities for each of the sub-strategies that the actual number ofpackets remaining to transmit to the retransmission logic circuitry ofthe receiver (Z₁) at the first sub-strategy, is equal to the number ofpackets to transmit (z) by each of the sub-strategies for the firstretransmission multiplied by the failure probability of eachsub-strategy (g_(k,z)) from one (z=1) to the number of packets in theset of packets (z=k) that the retransmission logic circuitry of thetransmitter is attempting to transmit to the receiver. The total packetloss probability for each retransmission scheme is the packet lossprobability for the first retransmission multiplied by the packet lossprobability for each subsequent retransmission, taking into account theconstraints and conditions for each subsequent retransmission.

In many embodiments, the recursive calculations for determiningretransmission schemes may be divided into two different cases, adiscrete case and a continuous case. For the discrete case, thecomplexities of the calculations may be reduced in an algorithm based ona determination that the time parameters T, τ, and d, are integermultiples of a unit time Δ. The retransmission logic circuitry mayperform iterations of Pareto optimization for a data size k′ equal to 1through k (e.g., 1, 2, 3, . . . k) and the time limit T′ equal to 1Δthrough T (e.g., 1Δ, 2Δ, 3Δ, . . . T). Such embodiments are feasibleunless the time constraint, T, cannot be split into equal integers ofunit time or the unit time integer is so small that the number ofiterations increases the computations beyond the computations requiredto perform the continuous case algorithm.

In a discrete case algorithm, when the time remaining is 1Δ, there is notime for receipt of feedback and a subsequent retransmission (no timefor sub-strategies) so the function (g) for the retransmission strategymay set the first transmission to the number of network coded packets totransmit (x₁) equal to or less than the total time constraint T.

When the time remaining is 1Δ, the retransmission logic circuitry maydetermine all strategies from transmission of zero network coded packetsto transmission of the time constraint (T) divided by the time totransmit a packet (T). This is true for the strategy and forsub-strategies of a retransmission scheme. The retransmission logiccircuitry may then remove the non-optimal schemes by comparingperformances. For instance, if the expected time usage for a firststrategy is greater than or equal to the expected time usage for asecond strategy, and the failure probability of the first strategy isgreater than the failure probability of the second strategy, the firststrategy is not optimal and should be removed. Similarly, if theexpected time usage for a first strategy is greater than the expectedtime usage for a second strategy, and the failure probability of thefirst strategy is greater than or equal to the failure probability ofthe second strategy, the first strategy is not optimal and should beremoved. The retransmission logic circuitry may iteratively perform aprocess of comparing performances of the strategies from the set of allstrategies, S(k′,T′), to determine a set of Pareto optimal strategies,P(k′,T′).

When the time remaining is greater than 1Δ, there might be timeremaining in the strategies after transmission of a first number of x₁network coded packets for feedback and one or more subsequenttransmission. In such embodiments, the retransmission logic circuitry ofthe transmitter may determine a sub-strategy for each possible number(z₁) of remaining packets that may still be needed by the retransmissionlogic circuitry of the receiver after the first transmission. fromtransmission of zero network coded packets to transmission of the timeconstraint (T) divided by the time to transmit a packet (τ). This istrue for sub-strategies of each of the sub-strategies of aretransmission scheme until all the network coded packets have beenreceived by the receiver or there is insufficient time for feedback anda subsequent transmission. The retransmission logic circuitry of thetransmitter may iteratively perform the process to determine the set ofall strategies, S(k′,T′) and then perform a process of comparingperformance metrics (expected time usage and probability of failure) ofthe strategies from the set of all strategies, S(k′,T′), to determine aset of Pareto optimal strategies, P(k′,T′).

In the continuous case algorithm, when the time parameters are notinteger multiples of a common unit time Δ or the common unit time is sosmall that the computational resources needed exceed those needed forthe continuous case algorithm or are otherwise determined to beinefficient, the retransmission logic circuitry of the transmitter mayuse the continuous case algorithm for continuous time parameters. Forthe continuous time parameters, the retransmission logic circuitry mayaccount for the total time consumed by packet transmission (T_(pkt)) andthe total time consumed by feedback transmissions (T_(fb)). The totaltime consumed by packet transmissions is the total number of packetstransmitted (n_(pkt)) multiplied by the time for transmission of apacket (τ). The total time consumed by feedback transmissions is thetotal number of feedback frames transmitted (n_(fb)) multiplied by thesum (d) of the gap time and the feedback time. The total number ofpossible combinations of n_(pkt) and n_(fb) is limited by constraintssuch as the time constraint (T) and the total number of packets(n_(pkt)) should exceed or be equal to the total number of feedbackframes transmitted (n_(fb)).

In many embodiments, the retransmission logic circuitry may compute thetimes for each of the complete retransmission strategies to generate alist of times, L(t), and may sort the list of times, L(t). In someembodiments, all sub-strategies that require more than the timeremaining after the first transmission (T₁) are removed from the fullset of strategies. Thereafter, many embodiments may optimize the fullset of strategies by comparing performance metrics to generate a set ofPareto optimal strategies, P(k′,T′).

With the set of Pareto optimal strategies, P(k′,T′), the retransmissionlogic circuitry may select a retransmission scheme based on thereliability and spectral efficiency of the retransmission schemes. Forinstance, the reliability may require a minimum number of packets of theoriginal set of k packets to be received and decoded by theretransmission logic circuitry of the receiver and the spectralefficiency may relate to the number of network coded packets transmittedto arrive at the reliability requirement. As another example, theretransmission logic circuitry may select retransmission schemes thatmeet a spectral efficiency requirement and select the retransmissionscheme that maximizes the reliability within the retransmission schemes.

In some embodiments, the retransmission logic circuitry may furtherperform quantization-based thinning to reduce the number retransmissionschemes in the set of Pareto optimal strategies, P(k′,T′). Theretransmission logic circuitry may set a precision or granularity fordistinction between different retransmission schemes and removeredundant retransmission schemes. In some embodiments, for instance, theretransmission logic circuitry may set a precision for reliability (suchas a packet loss rate) to 0.1% and reduce the retransmission schemes byremoving or otherwise not including retransmission schemes with the samespectral efficiency and less than 0.1% difference in reliability. Inother embodiments, the retransmission logic circuitry may set aprecision for spectral efficiency to 0.1% and/or reliability to 0.1%. Infurther embodiments, the precision may be greater or smaller forspectral efficiency and/or reliability such as 0.05%, 0.01%, 0.2%, 0.5%,1%, 5%, and/or the like.

Embodiments may also comprise retransmission logic circuitry tofacilitate communications by stations (STAs) in accordance withdifferent versions of Institute of Electrical and Electronics Engineers(IEEE) 802.11 standards for wireless communications (generally referredto as “Wi-Fi”) such as IEEE 802.11-2020, December 2020; IEEEP802.11be™/D2.2, October 2022; IEEE P802.11ax-2021™, IEEEP802.11ay-2021™, IEEE P802.11az™/D3.0, IEEE P802.11ba-2021™, IEEEP802.11bb™/D0.4, IEEE P802.11bc™/D1.02, and IEEE P802.11bd™/D1.1.

The above descriptions are for purposes of illustration and are notmeant to be limiting. Numerous other examples, configurations,processes, algorithms, etc., may exist, some of which are described ingreater detail below. Example embodiments will now be described withreference to the accompanying figures.

Various embodiments may be designed to address different technicalproblems associated with retransmission schemes. Currently packet-levelnetwork coding is not implemented in Wi-Fi system and selectiveretransmission with a block acknowledgement (BlockAck) policy used inA-MPDU scenario to improve reliability. Network coding withretransmissions has been used in other communication settings withvarious heuristic retransmission schemes. However, such schemes transmitthe exact number x of missing packets reported by the receiver, orover-provision by transmitting x/(1−e_(r)) packets, accounting for thepacket loss rate e_(r).

Different technical problems such as those discussed above may beaddressed by one or more different embodiments. Embodiments may addressone or more of these problems associated with retransmission schemes.For instance, some embodiments that address problems associated withretransmission schemes may do so by one or more different technicalmeans, such as, determining a first set of packets for transmission to asecond STA in an aggregated medium access control (MAC) protocol dataunit (A-MPDU); identifying a retransmission scheme generated based on atime constraint, the retransmission scheme to determine a first numberof packets to transmit based on the first set of packets; generating oneor more network coded packets of a pool of network coded packets fortransmission in the A-MPDU, wherein the one or more network codedpackets comprise encoded combinations of the first set of packets;generating the A-MPDU for transmission to the second STA with the firstnumber of packets, the first number of packets comprising at least oneof the one or more network coded packets from the pool of network codedpackets; and causing transmission of the A-MPDU to the second STA;and/or the like. In some embodiments, to address the problems, the oneor more network coded packets may be linearly independent. In someembodiments, to address the problems, the one or more network codedpackets comprise linear combinations of the first set of packets encodedwith linear packet-level coding having a maximum distance separable(MDS) property. In some embodiments, to address the problems, the firstnumber of network code packets comprises the first set of packets inaddition to the one or more network coded packets. In some embodiments,to address the problems, the logic circuitry to further receive a blockacknowledgement (BlockAck) comprising a feedback value, wherein thefeedback value is a number of additional network coded packets requestedby the second STA to decode the first set of packets or a number ofpackets received by the second STA. In some embodiments, to address theproblems, the feedback value provides no indication of which packetshave been received by the second STA and no indication of which packetsare being requested by the second STA. In some embodiments, to addressthe problems, the logic circuitry may further: determine a second numberof packets based on a first sub-scheme of the retransmission scheme andbased on the feedback value; cause transmission of the second number ofpackets in a second A-MPDU; and receive a second BlockAck comprising asecond feedback value if sufficient time remains to receive the secondBlockAck. In some embodiments, to address the problems, the logiccircuitry may further: repeatedly cause transmission, in accordance witha corresponding sub-scheme of the retransmission scheme, wherein anumber of network coded packets in the pool of network coded packetsselected for transmission for each of the sub-schemes is a function of acorresponding feedback value received from the second STA and a timeremaining for the retransmission scheme; and repeatedly receiveBlockAcks from the second STA, if sufficient time remains to receive theBlockAcks, wherein each of the BlockAcks comprises the correspondingfeedback value, wherein the corresponding feedback value is a number ofadditional network coded packets requested by the second STA to decodethe first set of packets or a number of packets received by the secondSTA. In some embodiments, to address the problems, the logic circuitrymay further select a process by which to compute the retransmissionscheme, the process comprising a discrete process or a continuousprocess, the logic circuitry to select the discrete process if atransmission time for one of the one or more network coded packets and asum of a feedback time and a gap time are multiples of a common unittime. In some embodiments, to address the problems, the logic circuitrymay further determine a set of potentially optimal schemes based on thetime constraint, a packet loss rate, a feedback time, and a gap time;and identify the retransmission scheme from the set of potentiallyoptimal schemes. Some embodiments that address problems associated withretransmission schemes may do so by one or more different technicalmeans, such as, receiving a first number of packets from a first STA inan aggregated medium access control (MAC) protocol data unit (A-MPDU),the first number of packets comprising network coded packets for aretransmission scheme; decoding the first number of packets inaccordance with a network coding scheme associated with theretransmission scheme, to determine one or more packets of a first setof packets; determining a feedback value, wherein the feedback value isa number of additional network coded packets to decode the first set ofpackets or a number of packets received by the second STA; generatingthe block acknowledgement (BlockAck) comprising the feedback value; andcausing transmission of the BlockAck to the first STA; and/or the like.

Several embodiments comprise central servers, access points (APs),and/or stations (STAs) such as modems, routers, switches, servers,workstations, netbooks, mobile devices (Laptop, Smart Phone, Tablet, andthe like), sensors, meters, controls, instruments, monitors, home oroffice appliances, Internet of Things (IoT) gear (watches, glasses,headphones, and the like), and the like. Some embodiments may provide,e.g., indoor and/or outdoor “smart” grid and sensor services. In variousembodiments, these devices relate to specific applications such ashealthcare, home, commercial office and retail, security, and industrialautomation and monitoring applications, as well as vehicle applications(automobiles, self-driving vehicles, airplanes, and the like), and thelike.

Some embodiments may facilitate wireless communications in accordancewith multiple standards. Some embodiments may comprise low powerwireless communications like Bluetooth®, cellular communications, andmessaging systems. Furthermore, some wireless embodiments mayincorporate a single antenna while other embodiments may employ multipleantennas or antenna elements.

While some of the specific embodiments described below will referencethe embodiments with specific configurations, those of skill in the artwill realize that embodiments of the present disclosure mayadvantageously be implemented with other configurations with similarissues or problems.

FIG. 1A depicts a system diagram illustrating an embodiment of a networkenvironment for retransmission logic circuitry, in accordance with oneor more example embodiments. Wireless network 1000 may include one ormore access point (AP) multi-link devices (AP-MLDs) 1005 and 1027, andone or more user devices 1020 (non-AP MLDs), which may communicate inaccordance with IEEE 802.11 communication standards. Note that whileIEEE 802.11 communication standards an MLDs are discussed in manyembodiments, embodiments are not limited to any particular standards orWi-Fi devices. Embodiments may be incorporated in any wirelesscommunications and any wireless communication devices including singleband devices, dual band devices, tri-band devices, and other multipleband devices, in addition to MLDs. Note also that differences betweenthe multiple band devices and MLDs may include an added layer ofmanagement such as a ML management entity to add more coordinationbetween communications across links on multiple bands and a STAmanagement entity for each band to manage communications for each band.Whereas a multiple band device may have a single STA management entitycapable of managing communications on a selectable band of the multiplebands.

In the present embodiment, the AP MLD 1005 may comprise a collocated setof AP stations (STAs) and the AP MLD 1027 may comprise a collocated setof AP STAs communicatively connected via a backhaul and/or network(s)1030. Furthermore, the AP MLD 1005 and AP MLD 1027 may be affiliatedwith the same basic service set (BSS) 1004.

The user device(s) 1020 may comprise mobile devices that arenon-stationary (e.g., not having fixed locations) and/or stationarydevices. In some embodiments, the user device(s) 1020 and the AP-MLDs1005 and 1027 may include one or more computer systems similar to theSTAs shown in FIGS. 1B-1G and/or the example machine/system of FIGS. 5,6, 7, and 8 .

One or more illustrative user device(s) 1020 and/or AP-MLDs 1005 and1027 may be operable by one or more user(s) 1010. It should be notedthat any addressable unit may be a station (STA). A STA may take onmultiple distinct characteristics, each of which shape its function. Forexample, a single addressable unit might simultaneously be a portableSTA, a quality-of-service (QoS) STA, a dependent STA, and a hidden STA.The one or more illustrative user device(s) 1020 and the AP-MLDs 1005and 1027 may include STAs. The one or more illustrative user device(s)1020 and/or AP-MLDs 1005 and 1027 may operate as an extended service set(ESS), a basic service set (BSS), a personal basic service set (PBSS),or a control point/access point (PCP/AP).

The user device(s) 1020 (e.g., 1024, 1025, 1026, 1028, or 1029) and/orAP-MLDs 1005 and 1027 may include any suitable processor-driven deviceincluding, but not limited to, a mobile device or a non-mobile, e.g., astatic device. For example, user device(s) 1020 and/or AP-MLDs 1005 and1027 may include, a user equipment (UE), a station (STA), an accesspoint (AP), a software enabled AP (SoftAP), a personal computer (PC), awearable wireless device (e.g., bracelet, watch, glasses, ring, etc.), adesktop computer, a mobile computer, a laptop computer, an Ultrabook™computer, a notebook computer, a tablet computer, a server computer, ahandheld computer, a handheld device, an internet of things (IoT)device, a sensor device, a PDA device, a handheld PDA device, anon-board device, an off-board device, a hybrid device (e.g., combiningcellular phone functionalities with PDA device functionalities), aconsumer device, a vehicular device, a non-vehicular device, a mobile orportable device, a non-mobile or non-portable device, a mobile phone, acellular telephone, a PCS device, a PDA device which incorporates awireless network interface, a mobile or portable GPS device, a DVBdevice, a relatively small computing device, a non-desktop computer, a“carry small live large” (CSLL) device, an ultra mobile device (UMD), anultra mobile PC (UMPC), a mobile internet device (MID), an “origami”device or computing device, a device that supports dynamicallycomposable computing (DCC), a context-aware device, a video device, anaudio device, an A/V device, a set-top-box (STB), a blu-ray disc (BD)player, a BD recorder, a digital video disc (DVD) player, a highdefinition (HD) DVD player, a DVD recorder, a HD DVD recorder, apersonal video recorder (PVR), a broadcast HD receiver, a video source,an audio source, a video sink, an audio sink, a stereo tuner, abroadcast radio receiver, a flat panel display, a personal media player(PMP), a digital video camera (DVC), a digital audio player, a speaker,an audio receiver, an audio amplifier, a gaming device, a data source, adata sink, a digital still camera (DSC), a media player, a smartphone, atelevision, a music player, or the like. Other devices, including smartdevices such as lamps, climate control, car components, householdcomponents, appliances, etc. may also be included in this list.

As used herein, the term “Internet of Things (IoT) device” is used torefer to any object (e.g., an appliance, a sensor, etc.) that has anaddressable interface (e.g., an Internet protocol (IP) address, aBluetooth identifier (ID), a near-field communication (NFC) ID, etc.)and can transmit information to one or more other devices over a wiredor wireless connection. An IoT device may have a passive communicationinterface, such as a quick response (QR) code, a radio-frequencyidentification (RFID) tag, an NFC tag, or the like, or an activecommunication interface, such as a modem, a transceiver, atransmitter-receiver, or the like. An IoT device can have a particularset of attributes (e.g., a device state or status, such as whether theIoT device is on or off, open or closed, idle or active, available fortask execution or busy, and so on, a cooling or heating function, anenvironmental monitoring or recording function, a light-emittingfunction, a sound-emitting function, etc.) that can be embedded inand/or controlled/monitored by a central processing unit (CPU),microprocessor, ASIC, or the like, and configured for connection to anIoT network such as a local ad-hoc network or the Internet. For example,IoT devices may include, but are not limited to, refrigerators,toasters, ovens, microwaves, freezers, dishwashers, dishes, hand tools,clothes washers, clothes dryers, furnaces, air conditioners,thermostats, televisions, light fixtures, vacuum cleaners, sprinklers,electricity meters, gas meters, etc., so long as the devices areequipped with an addressable communications interface for communicatingwith the IoT network. IoT devices may also include cell phones, desktopcomputers, laptop computers, tablet computers, personal digitalassistants (PDAs), etc. Accordingly, the IoT network may be comprised ofa combination of “legacy” Internet-accessible devices (e.g., laptop ordesktop computers, cell phones, etc.) in addition to devices that do nottypically have Internet-connectivity (e.g., dishwashers, etc.).

In some embodiments, the user device(s) 1020 and/or AP-MLDs 1005 and1027 may also include mesh stations in, for example, a mesh network, inaccordance with one or more IEEE 802.11 standards and/or 3GPP standards.

Any of the user device(s) 1020 (e.g., user devices 1024, 1025, 1026,1028, and 1029) and AP-MLDs 1005 and 1027 may be configured tocommunicate with each other via one or more communications networks 1030and/or 1035 wirelessly or wired. In some embodiments, the user device(s)1020 may also communicate peer-to-peer or directly with each other withor without the AP-MLDs 1005 and 1027 and, in some embodiments, the userdevice(s) 1020 may also communicate peer-to-peer if enabled by theAP-MLDs 1005 and 1027.

In the present embodiment, the AP-MLDs 1005 and 1027 may comprise 2.4GHz, and 6 GHz STAs. Note that embodiments are not limited to STAscapable of any particular set of carrier frequencies and the STAs of APMLDs are not required to have sets of STAs with the same carrierfrequencies.

Furthermore, the user device(s) 1020 (e.g., user devices 1024, 1025,1026, 1028, and 1029) and AP-MLDs 1005 and 1027 may each compriseretransmission logic circuitry to implement retransmission schemes.While the functionality of the retransmission logic circuitry of theincorporated of the user device(s) 1020 (e.g., user devices 1024, 1025,1026, 1028, and 1029) and AP-MLDs 1005 and 1027 may include all thefunctionality discussed herein for retransmission logic circuitry insome embodiments; in other embodiments, some of the user device(s) 1020(e.g., user devices 1024, 1025, 1026, 1028, and 1029) and AP-MLDs 1005and 1027 may only incorporate some of the functionality.

In the present embodiment, the retransmission logic circuitry of theuser device 1025 may associate with the AP-MLD 1005 based on inclusionof the AP-MLD 1005 in the BSS 1004 and the connection of the BSS 1004with a user device 1028 to establish a data stream between the userdevice 1028 and the user device 1025. During the association, the userdevice 1025 and the AP-MLD 1005 may exchange capabilities including acapability to perform retransmission schemes. For instance, the userdevice 1025 may indicate a capability to perform retransmission schemeswith one or more bits in a MAC frame such as an association requestframe, a probe request frame, and/or the like. In some embodiments, theuser device 1025 may also indicate a capability to decode one or morenetwork coding schemes.

In some embodiments, the AP-MLD 1005 may include one or more bits in aMAC frame such as a beacon frame, a probe response frame, an associationresponse frame, and/or the like to indicate a capability to performretransmission schemes and, in some embodiments, one or more bits toindicate a capability to implement one or more network coding schemes inconjunction with the retransmission schemes. In some embodiments, theAP-MLD 1005 may assess or measure a packet loss rate duringcommunications with the user device 1025.

In some embodiments, the user device 1025 and the AP-MLD 1005 maynegotiate a reliability and/or spectral efficiency for thecommunications between the user device 1025 and the AP-MLD 1005. In someembodiments, the AP-MLD 1005 may have default settings for reliabilityand/or spectral efficiency and, in some embodiments, the AP-MLD 1005 mayhave default settings for a minimum reliability and/or a minimumspectral efficiency.

In some embodiments, the user device 1025 and the AP-MLD 1005 maynegotiate a network coding scheme to implement the retransmissionschemes. In other embodiments, the network coding scheme may be known byboth the user device 1025 and the AP-MLD 1005.

The retransmission logic circuitry of the AP-MLD 1005 may reside, atleast in part, in the MAC layer of the AP MLD 1005 and may receive datain a time-sensitive data stream from a user device 1028 to transmit tothe user device 1025. The retransmission logic circuitry of the AP-MLD1005 may determine a time-constraint for transmission of sets of packetsincluding the data from the data stream based on, e.g., a quality ofservice (QoS) parameter for the data stream and may also determine afirst set of packets to transmit to the user device 1025. Theretransmission logic circuitry of the AP-MLD 1005 may determine a fullset of retransmission schemes based on a reliability, spectralefficiency, and packet loss rate (or error rate) associated withcommunications with the user device 1025.

After determining the full set of retransmission schemes, theretransmission logic circuitry of the AP-MLD 1005 may determine anoptimal set of retransmission schemes by comparing estimated metrics forthe schemes against one another and removing retransmission schemes thatare not optimal. For instance, the retransmission logic circuitry of theAP-MLD 1005 may compare the expected time usage, probability of failure,and the packet loss probabilities of the retransmission scheme to removeretransmission schemes that have the same expected time usage butgreater probabilities of failure than other retransmission schemes orthat have the same probability of failure but greater expected timeusages than other retransmission schemes.

Once the retransmission logic circuitry of the AP-MLD 1005 determinesthe optimal set of retransmission schemes, the retransmission logiccircuitry of the AP-MLD 1005 may sort or otherwise process the optimalretransmission schemes to select one of the optimal retransmissionschemes based on the reliability and/or spectral efficiency associatedwith communications with the user device 1025. For instance, theretransmission logic circuitry of the AP-MLD 1005 may select theretransmission scheme from the optimal retransmission schemes based onthe scheme with the lowest expected time usage or with the highestreliability.

The retransmission logic circuitry of the AP-MLD 1005 may also begingeneration of a pool of network coded packets. In some embodiments, theretransmission logic circuitry of the AP-MLD 1005 may determine the sizeof the pool of network coded packets based on the maximum number ofnetwork coded packets that might be required for the selectedretransmission scheme. In further embodiments, the retransmission logiccircuitry of the AP-MLD 1005 may generate network coded packets of thepool for the selected retransmission scheme as needed for (just beforeor while preparing to cause transmission of) the first transmission andas needed for (just before or while preparing to cause transmission of)each subsequent retransmission of data to the user device 1025.

In many embodiments, the retransmission logic circuitry of the AP-MLD1005 may determine or receive the data as a set of k equal size packets.In some embodiments, the retransmission logic circuitry of the AP-MLD1005 may then perform network coding to encode the set of k equal sizepackets to generate network coded packets. Depending on the networkcoding selected for encoding the network coded packets, up to k networkcoded packets may linearly independent. Thus, the retransmission logiccircuitry of the AP-MLD 1005 may encode network coded packets such thatany subset of up to k network coded packets in the pool of network codedpackets may be linearly independent packets.

For example, If k=5 and n=10. The original set of packets includes 5packets and the pool of network coded packets includes 10 packets. Inother words, 5 packets are encoded into 10 network coded packets and theretransmission logic circuitry of the AP MLD 1005 may index the networkcoded packets 1-10. If the network code is maximum distance separable(MDS), then any subset of size 5 network coded packets is linearlyindependent. For instance, any set of network coded packets witharbitrary distinct indices (a,b,c,d,e where a,b,c,d, and e represent thedifferent indices of the indices 1-10) are linearly independent,regardless of the values of these indices. To illustrate, (a,b,c,d,e)can be (1,3,4,7,10), or any other set of 5 network coded packets withdistinct indices. If we add one more index f to the set, then thenetwork coded packets (a,b,c,d,e,f) are not all linearly independent.

For non-MDS network codes, the 5 distinct packets (a,b,c,d,e) may or maynot be linearly independent but 6 network coded packets of the non-MDSnetwork coded packets are not all linearly independent.

Thus, if the retransmission logic circuitry of the AP MLD 1005 forms apool of 10 network coded packets, then the network coded packets are notall linearly independent. Many embodiments herein do not need them to beall linearly independent. Instead, since some of the packets may belost, many embodiments may only need to receive 5 that are linearlyindependent to be able to decode 5 of the network coded packets andrecover the original set of 5 packets. MDS coding may be advantageous inthe sense that as long as 5 (where k=5) network coded packets arereceived, the 5 network coded packets are guaranteed to be independent,facilitating successful decoding of the 5 network coded packets.

The retransmission logic circuitry of the AP-MLD 1005 may also generatelinear combinations of the set of k equal size packets to generate oneor more network coded packets for the pool of network coded packets suchthat any subset of k or less network coded packets are linearlyindependent. For instance, the network coding may generate linearcombinations of the set of k equal size packets with linear packet-levelcoding having a MDS property. Based on the linearly independent codingof the network coded packets, the user device 1025 may, advantageously,decode the entire set of k equal size packets after receipt of k networkcoded packets. In many embodiments, the retransmission logic circuitryof the AP-MLD 1005 may also systematically encode the network codedpackets in accordance with the network coding scheme, whether negotiatedor set by the retransmission logic circuitry of the AP-MLD 1005, so thatthe retransmission logic circuitry of the user device 1025 can decodethe network coded packets for the selected retransmission scheme withknowledge of the network coding scheme.

The selected retransmission scheme may identify the first number ofnetwork encoded packets (x₁) to include in the first transmission of thedata from the AP-MLD 1005 to the user device 1025. After selection ofthe retransmission scheme, the retransmission logic circuitry of theAP-MLD 1005 may generate a MAC A-MPDU 1021 comprising the first numberof network coded packets in the payload of A-MPDU subframes of the MACA-MPDU 1021. In some embodiments, each A-MPDU subframe may comprise onenetwork coded packet. In further embodiments, each A-MPDU subframe mayinclude more than one network coded packets.

In many embodiments, the MAC A-MPDU 1021 may include one or more bits toindicate the number of packets (k) in the set of k equal size packets ofthe data and may include a header with an Ack policy field comprisingone or more bits to indicate the block acknowledgement policy for theA-MPDU 1021. For instance, in some embodiments, the A-Control subfieldin the A-MPDU subframe of the MAC A-MPDU 1021 may include informationthat is required for the network coding scheme. The content of theA-Control subfield of each A-MPDU subframe may be different betweenA-MPDU subframes. In some embodiments, the A-Control field may include anetwork coding (NC) code type (e.g., Reed-Solomon encoder with encodingmatrix C{ij}), a number of data packets (k), a number of parity packets(n−k), a packet index after the NC encoding, and/or the like. In someembodiments, NC encoding may reside in the frame body subfield of anMPDU rather than residing in the MAC header, FCS, or the MPDU delimiterand padding fields of the A-MPDU subframe.

In some embodiments, if there is sufficient time remaining within thetime constraint for transmission of the data to the user device 1025 forfeedback and/or for feedback and a retransmission 1023, theretransmission logic circuitry of the AP-MLD 1005 may include one ormore bits in the Ack policy field to request an immediate blockacknowledgement (BlockAck). In some embodiments, the immediate BlockAckis always requested and the retransmission logic circuitry of the userdevice 1025 may determine if sufficient time remains within the timeconstraint to transmit the feedback and/or the feedback andretransmission.

Upon receipt of the MAC A-MPDU from the AP-MLD 1005, the retransmissionlogic circuitry of the user device 1025 may decode the network codedpackets. If there is time within the time constraint to respond with aBlockAck 1023 and receive a retransmission 1022, the retransmissionlogic circuitry of the user device 1025 may to determine a feedbackvalue by counting the number of network coded packets received, countingthe number of network coded packets decoded, determining the number ofnetwork coded packets that the user device 1025 still needs to receiveto receive the entire set of k equal size packets, determining thenumber of network coded packets that the user device 1025 still needs todecode to decode the entire set of k equal size packets, and/or thelike. Note that the feedback value may comprise or indicate a number ofnetwork coded packets and does not include or indicate, in manyembodiments, which packets were received. Inclusion of the number ofpackets or an indication of the number without including a bitmap toindicate which packets were received or not received, may advantageouslyreduce the size of the BlockAck. Reducing the size or average size ofthe BlockAck may, advantageously, increase the spectral efficiency offeedback for the transmission, increase the spectral efficiency offeedback on average for the first transmission and all theretransmissions, and/or increase the spectral efficiency of feedback inan overall average for implementation of the retransmission scheme.

When time permits within the time constraint, the retransmission logiccircuitry of the user device 1025 may generate a BlockAck 1023 includingthe feedback value and cause transmission of the BlockAck 1023 to theAP-MLD 1005. Note that if there is not enough time within the timeconstraint for the retransmission scheme to send the BlockAck 1023 andreceive a retransmission 1022, the retransmission logic circuitry of theuser device 1025 may, advantageously, not send feedback to increase thespectral efficiency of the retransmission scheme. In some embodiments,the retransmission logic circuitry of the user device 1025 may onlyrespond with a BlockAck 1023 if the A-MPDU includes a request for animmediate BlockAck in the Ack policy field. In some embodiments, theretransmission logic circuitry of the user device 1025 may respond witha BlockAck 1023 if there is sufficient time for transmitting theBlockAck.

Upon receipt of the BlockAck 1023 from the user 1025, the retransmissionlogic circuitry of the AP-MLD 1005 may determine the feedback value andmay select a sub-strategy of the selected retransmission scheme based onthe feedback value. Note that the selected retransmission schemeincludes a sub-strategy for each possible feedback value for the firstretransmission after the first transmission, and for each possibleretransmission after the first retransmission.

The sub-strategy may include the number of network coded packets fromthe pool of network coded packets to include in the first retransmission1022. After selecting the sub-strategy, the retransmission logiccircuitry of the AP-MLD 1005 may generate (if not already generated)network coded packets for the first retransmission 1022 and causetransmission of the network coded packets in A-MPDU subframes of anA-MPDU to the user device 1025. If there is sufficient time remaining inthe time constraint for the selected retransmission strategy for receiptof a BlockAck and a subsequent retransmission, the retransmission logiccircuitry of the AP-MLD 1005 may include one or more bits in the Ackpolicy field of the A-MPDU to indicate a request for an immediateBlockAck. Otherwise, the retransmission logic circuitry of the AP-MLD1005 may include one or more bits in the Ack policy field of the A-MPDUto indicate no request for a BlockAck.

Upon receipt of the MAC A-MPDU in the first retransmission 1022 from theAP-MLD 1005, the retransmission logic circuitry of the user device 1025may decode the network coded packets for the first retransmission 1022.Note that the network coded packets may be encoded with a network codingknown to the retransmission logic circuitry of the user device 1025 dueto the systematic encoding. If there is time within the time constraintto respond with a BlockAck and receive another retransmission, theretransmission logic circuitry of the user device 1025 may determine thefeedback value, which, as described above, is a number of network codedpackets received or decoded, and cause transmission of the BlockAck tothe AP-MLD 1005.

Note that this iterative process of communicating A-MPDUs inretransmissions and BlockAcks with feedback values continues until theretransmission logic circuitry of the user device 1025 receives knetwork coded packets, decodes the entire set of k equal size packets,or insufficient time remains to transmit feedback in a BlockAck and/orreceive another retransmission. For the AP-MLD 1005, the processcontinues until the sub-strategies are exhausted, insufficient timeremains for further retransmission within the time constraint, or theretransmission logic circuitry of the AP-MLD 1005 receives a feedbackvalue that indicates that the user device 1025 received all the networkcoded packets needed to decode the entire set of k equal size datapackets. For instance, the feedback value in the BlockAck 1023 mayindicate the value k to indicate that k network coded packets have beenreceived or may indicate the value zero to indicate that zero morenetwork coded packets are requested.

Note that once the retransmission scheme is selected for transmission ofdata to the user device 1025, the retransmission logic circuitry of theAP-MLD 1005 may continue to use selected retransmission scheme forsubsequently received data to transmit to the user device 1005. Theretransmission logic circuitry of the AP-MLD 1005 may, in someembodiments, select a new retransmission scheme if parameters such asthe packet loss rate for communication through the channel changessignificantly (e.g., by 10%, 20%, 30% or the like) or the parameters forthe reliability and/or spectral efficiency change significantly (e.g.,by 10%, 20%, 30% or the like).

Any of the communications network(s) 1030 may include, but not limitedto, any one of a combination of different types of suitablecommunications networks such as, for example, broadcasting networks,cable networks, public networks (e.g., the Internet), private networks,wireless networks, cellular networks, or any other suitable privateand/or public networks. Further, any of the communications networks 1030and/or 1035 may have any suitable communication range associatedtherewith and may include, for example, global networks (e.g., theInternet), metropolitan area networks (MANs), wide area networks (WANs),local area networks (LANs), or personal area networks (PANs). Inaddition, any of the communications networks 1030 and/or 1035 mayinclude any type of medium over which network traffic may be carriedincluding, but not limited to, coaxial cable, twisted-pair wire, opticalfiber, a hybrid fiber coaxial (HFC) medium, microwave terrestrialtransceivers, radio frequency communication mediums, white spacecommunication mediums, ultra-high frequency communication mediums,satellite communication mediums, or any combination thereof.

Any of the user device(s) 1020 (e.g., user devices 1024, 1025, 1026,1028, and 1029), the AP MLD 1005, and the AP-MLD 1027 may include one ormore communications antennas. The one or more communications antennasmay be any suitable type of antennas corresponding to the communicationsprotocols used by the user device(s) 1020 (e.g., user devices 1024,1025, 1026, 1028, and 1029) and AP-MLD 1005. Some non-limiting examplesof suitable communications antennas include Wi-Fi antennas, Institute ofElectrical and Electronics Engineers (IEEE) 802.11 family of standardscompatible antennas, directional antennas, non-directional antennas,dipole antennas, folded dipole antennas, patch antennas, multiple-inputmultiple-output (MIMO) antennas, omnidirectional antennas,quasi-omnidirectional antennas, or the like. The one or morecommunications antennas may be communicatively coupled to a radiocomponent to transmit and/or receive signals, such as communicationssignals to and/or from the user devices 1020, AP MLD 1005, and/or AP-MLD1027.

Any of the user device(s) 1020 (e.g., user devices 1024, 1025, 1026,1028, and 1029), the AP MLD 1005, and AP-MLD 1027 may be configured towirelessly communicate in a wireless network. Any of the user device(s)1020 (e.g., user devices 1024, 1025, 1026, 1028, and 1029), the AP MLD1005, and AP-MLD 1027 may be configured to perform such directionaltransmission and/or reception using a set of multiple antenna arrays(e.g., DMG antenna arrays or the like). Each of the multiple antennaarrays may be used for transmission and/or reception in a particularrespective direction or range of directions. Any of the user device(s)1020 (e.g., user devices 1024, 1025, 1026, 1028, and 1029), the AP MLD1005, and AP-MLD 1027 may be configured to perform any given directionaltransmission towards one or more defined transmit sectors. Any of theuser device(s) 1020 (e.g., user devices 1024, 1025, 1026, 1028, and1029), the AP MLD 1005, and AP-MLD 1027 may be configured to perform anygiven directional reception from one or more defined receive sectors.

MIMO beamforming in a wireless network may be accomplished using RFbeamforming and/or digital beamforming. In some embodiments, inperforming a given MIMO transmission, user devices 1020, AP MLD 1005,and/or AP-MLD 1027 may be configured to use all or a subset of its oneor more communications antennas to perform MIMO beamforming.

Any of the user devices 1020 (e.g., user devices 1024, 1025, 1026, 1028,and 1029), the AP MLD 1005, and AP-MLD 1027 may include any suitableradio and/or transceiver for transmitting and/or receiving radiofrequency (RF) signals in the bandwidth and/or channels corresponding tothe communications protocols utilized by any of the user device(s) 1020and AP-MLD 1005 to communicate with each other. The radio components mayinclude hardware and/or software to modulate and/or demodulatecommunications signals according to pre-established transmissionprotocols. The radio components may further have hardware and/orsoftware instructions to communicate via one or more Wi-Fi and/or Wi-Fidirect protocols, as standardized by the Institute of Electrical andElectronics Engineers (IEEE) 802.11 standards. In certain exampleembodiments, the radio component, in cooperation with the communicationsantennas, may be configured to communicate via 2.4 GHz channels (e.g.,802.11b, 802.11g, 802.11n, 802.11ax, 802.11be), 5 GHz channels (e.g.,802.11n, 802.11ac, 802.11ax, 802.11be), 6 GHz (e.g., 802.11be), or 60GHz channels (e.g., 802.11ad, 802.11 ay, Next Generation Wi-Fi) or 800MHz channels (e.g., 802.11ah). The communications antennas may operateat 28 GHz, 40 GHz, or any carrier frequency between 45 GHz and 75 GHz.It should be understood that this list of communication channels inaccordance with certain 802.11 standards is only a partial list, andthat other 802.11 standards may be used (e.g., Next Generation Wi-Fi, orother standards). In some embodiments, non-Wi-Fi protocols may be usedfor communications between devices, such as Bluetooth, dedicatedshort-range communication (DSRC), Ultra-High Frequency (UHF) (e.g., IEEE802.11af, IEEE 802.22), white band frequency (e.g., white spaces), orother packetized radio communications. The radio component may includeany known receiver and baseband suitable for communicating via thecommunications protocols. The radio component may further include apower amplifier (PA), a low noise amplifier (LNA), additional signalamplifiers, an analog-to-digital (A/D) converter, one or more buffers,and a digital baseband.

FIG. 1B depicts an embodiment 1100 illustrating interactions betweenstations (STAs) to associate a non-access point (AP) multilink (ML)device (non-AP MLD) 1130 with an access point (AP) multilink (ML) device(AP MLD) 1120 via multiple links or channels on multiple bands. The APMLD 1120 has three collocated affiliated AP STAs: AP STA 1 operates on2.4 GHz band, AP STA 2 operates on 5 GHz band, and AP STA 3 operates on6 GHz band. The pre-association state 1100 depicts the non-AP MLD 1120without links. The post-association state 1110 depicts the non-AP MLD1120 with links set up.

The non-AP STA 1 affiliated with the non-AP MLD 1130 sends anassociation request frame (or a reassociation request frame) to AP STA 1affiliated with the AP MLD 1120. The association request frame may havea TA field set to the MAC address of the non-AP STA 1 and an RA fieldset to the MAC address of the AP STA 1. The association request framemay include complete information of non-AP STA 1, non-AP STA 2, andnon-AP STA 3 to request links to be setup (one link between AP STA 1 andnon-AP STA 1, one link between AP STA 2 and non-AP STA 2, and one linkbetween AP STA 3 and non-AP STA 3) and a ML element that indicates theMLD MAC address of the non-AP MLD 1130.

In some embodiments, the association request frame may include acapability information field or other capabilities field that includesone or more bits to indicate a capability for retransmission schemessuch as a Pareto optimal network coding retransmission scheme. In someembodiments, the capability information field or other capabilitiesfield may also include one or more subfields to indicate specificcapabilities such as capabilities for one or more different networkencoding schemes, for a time constrained retransmission scheme, for aBlockAck with a feedback value rather than a bitmap, for associating theretransmission scheme capabilities with one or more of links of thenon-AP MLD 1130, and/or the like. In some embodiments, one or more ofthe capabilities associated with the non-AP MLD 1130 are negotiable.

For instance, during the association process, the AP MLD 1120 mayestablish communications protocols including identification of anyparameters that differ from default parameters, preferentialcommunications protocols, and/or negotiate communications protocols forthe links. In some embodiments, for instance, the AP MLD 1120 mayexchange capabilities with the non-AP MLD 1130 to negotiate theestablishment of a Pareto-optimal time-limited network codingretransmission scheme. In some embodiments, the non-AP MLD 1130 maymaintain a definition of MAC-level network coding schemes forPareto-optimal time-limited network coding retransmission. In otherembodiments, the AP MLD 1120 may provide the non-AP MLD 1130 with adefinition of MAC-level network coding schemes for Pareto-optimaltime-limited network coding retransmission. In further embodiments, thenon-AP MLD 1130 may provide the AP MLD 1120 with a definition ofMAC-level network coding schemes for Pareto-optimal time-limited networkcoding retransmission. In still further embodiments, the non-AP MLD 1130may provide an indication of MAC-level network coding schemes forPareto-optimal time-limited network coding retransmission in acapabilities element that the non-AP MLD 1130 transmits to the AP MLD1120. In still other embodiments, the AP MLD 1120 may provide anindication of MAC-level network coding schemes for Pareto-optimaltime-limited network coding retransmission in a capabilities elementthat the AP MLD 1120 transmits to the non-AP MLD 1130.

AP STA 1, affiliated with the AP MLD 1 1120, may send an associationresponse frame to non-AP STA 1 affiliated with the non-AP MLD 1130 witha TA field of the association response frame is set to the MAC addressof the AP STA 1, an RA field of the association response frame set tothe MAC address of the non-AP STA 1, and link IDs in the per-STA profilesubelements of an ML element of the association response framedetermined for the association of the non-AP MLD 1130, to indicatesuccessful ML setup 1140. In some embodiments, where the non-AP MLD 1130requests association with only STAs of the collocated MLD 1 1120, thelink IDs may be same link IDs associated with the AP STAs 1, 2, and 3for the links 1, 2, and 3 with the non-AP STAs 1, 2, and 3 of the non-APMLD 1130. The association response frame may include completeinformation of AP STA 1, AP STA 2, and AP STA 3 and an ML element thatindicates the MLD MAC addresses of the AP STAs 1, 2, and 3 of the AP MLD1 1120 and values of the link IDs for the links 1, 2, and 3. Aftersuccessful ML setup between the non-AP MLD 1130 and the AP MLD 1 1120,three links are setup (LINK 1 between AP 1 and non-AP STA 1, LINK 2between AP 2 and non-AP STA 2, and LINK 3 between AP STA 3 and non-APSTA 3) as shown in the post association state 1110.

In some embodiments, the association response frame may include acapability information field or other capabilities field that includesone or more bits to indicate a capability for retransmission schemessuch as a Pareto optimal network coding retransmission scheme. In someembodiments, the capability information field or other capabilitiesfield may also include one or more subfields to indicate specificcapabilities such as capabilities for one or more different networkencoding schemes, for a time constrained retransmission scheme, for aBlockAck with a feedback value rather than a bitmap, for associating theretransmission scheme capabilities with one or more of links of the APMLD 1120, and/or the like. In some embodiments, the AP MLD 1120 maynegotiate one or more of the capabilities associated with retransmissionschemes by inclusion of capabilities that match one or more of thecapabilities indicated in the association response frame received fromthe non-AP MLD 1130. In some embodiments, the AP MLD 1120 may determinea packet loss rate (or error rate) for communications with the non-APMLD 1130 during and/or after the association process. For instance, thenon-AP MLD 1130 may determine a packet loss rate during and/or afterexchange of the retransmission scheme capabilities for one or more linksand transmit the packet loss rate to the AP MLD 1120. In furtherembodiments, the AP MLD 1120 may determine a packet loss rate for one ormore of the links with the non-AP MLD 1130 based on communicationsduring and/or after the exchange of the retransmission schemecapabilities for one or more links.

In some embodiments, the non-AP MLD 1130 may associate with less thanall the links available from the AP MLD 1 1120 for various reasons. Forinstance, in some embodiments, the non-AP MLD 1130 may only be capableof establishing two of the links.

In some embodiments, the non-AP MLD 1130 may establish a link betweennon-AP STA 3 and AP STA 6 of the collocated AP MLD 2 1150 of thenon-collocated AP MLD 3 1160 because, e.g., the AP STA 6 may have abetter signal-to-noise ratio than the signal-to-noise ratio of thechannel with the AP STA 3 of AP MLD 1 1120. In such circumstances, thenon-AP MLD 1130 may include a per-STA profile element in the associationrequest frame that includes a link ID associated with the AP STA 6 and aMAC address of the AP STA 6 of the AP MLD 2 1150. The AP STA 1 maygenerate the association response frame with a new link ID created forthe AP STA 6 of the AP MLD 2 1150.

FIG. 1C depicts an embodiment of a system 1200 including multiple MLDsto implement retransmission logic circuitry, in accordance with one ormore example embodiments. System 1200 may transmit or receive as well asgenerate, decode, and interpret transmissions between an AP MLD 1210 andmultiple MLDs 1230, 1290, 1292, 1294, 1296, and 1298, associated withthe AP MLD 1210. The AP MLD 1210 may be wired and wirelessly connectedto each of the MLDs 1230, 1290, 1292, 1294, 1296, and 1298.

In some embodiments, the AP MLD 1210 may be one of multiple AP MLDsaffiliated with a collocated AP MLD (not shown) and MLD 1230 may includeone or more computer systems similar to that of the examplemachines/systems of FIGS. 5, 6, 7, and 8 .

Each MLD 1230, 1290, 1292, 1294, 1296, and 1298, including the AP MLD1210 may include retransmission logic circuitry, such as theretransmission logic circuitry 1250 of MLD 1230 and the retransmissionlogic circuitry 1220 of AP MLD 1210, to perform network codedretransmission schemes under a time constraint such as a transmissionopportunity (TxOP) on, e.g., a 6 GHz channel.

The AP MLD 1210 may and each of the MLDs 1230, 1290, 1292, 1294, 1296,and 1298 may exchange capability information to establish theretransmission schemes on one or more links of the MLDs including the 6GHz channel. After the association process, the AP MLD 1210 may receiveperiodic, aperiodic, and/or unscheduled data streams for each of theMLDs 1230, 1290, 1292, 1294, 1296, and 1298. Upon receipt of a datastream for one or more of the MLDs 1230, 1290, 1292, 1294, 1296, and1298, the retransmission logic circuitry 1220 of AP MLD 1210 may performnetwork coding of a stream of k packets to obtain a stream of n networkcoded packets with systematic network coding. Systematic network codingmay concatenate the k input data blocks with the n linear combinationsof the k input data blocks generated at a coding rate of k/(k+n) tocreate a pool of k plus n network coded data blocks.

The retransmission logic circuitry 1220 of AP MLD 1210 may determine aretransmission scheme based on a time constraint for transmission of thedata stream to one or more of the MLDs 1230, 1290, 1292, 1294, 1296, and1298, a packet loss rate associated with the links for the one or moreof the MLDs 1230, 1290, 1292, 1294, 1296, and 1298, and a reliabilityperformance metric and/or a spectral efficiency performance metric. Insome embodiments, the AP MLD 1210 may determine a differentretransmission scheme for each link. For instance, if the timeconstraints, packet loss rates, reliability performance metrics, and/orspectral efficiency metrics differ significantly between different linksassociated with the same MLD, the AP MLD 1210 may determine a differentretransmission scheme for each link associated with the same MLD.Similarly, if the time constraints, packet loss rates, reliabilityperformance metrics, and/or spectral efficiency metrics differsignificantly between different links associated with the differentMLDs, the AP MLD 1210 may determine a different retransmission schemefor each link for each MLD. Significantly different parameters such astime constraints, packet loss rates, reliability performance metrics,and/or spectral efficiency metrics may be parameters that differ enoughto change the performance of the retransmission schemes, which maychange identification of optimal retransmission schemes based on, e.g.,the estimated time usage, failure probability, and packet lossprobability, and/or change the selection of the retransmission schemefrom the set of optimal retransmission schemes.

After selecting one or more retransmission schemes for the one or moreof the MLDs 1230, 1290, 1292, 1294, 1296, and 1298, the retransmissionlogic circuitry of the AP MLD 1210 may cause transmission of a firstnumber of network coded packets from the AP MLD 1210 to the one or moreof the MLDs 1230, 1290, 1292, 1294, 1296, and 1298, in the first roundof transmission, in accordance with the corresponding retransmissionscheme. For instance, if different transmission schemes are selected forthe different links, each of the different retransmission schemes maydefine a different number of network coded packets to transmit to duringthe first transmission as well as during a first and subsequentretransmissions.

After transmission of the first number of network coded packets, the oneor more of the MLDs 1230, 1290, 1292, 1294, 1296, and 1298 may receiveand decode the first number of network coded packets. If sufficient timeremains for transmission of a feedback value and receipt of a firstretransmission, the retransmission logic circuitry of the one or more ofthe MLDs 1230, 1290, 1292, 1294, 1296, and 1298 may determine a feedbackvalue based on receipt of the corresponding first number of networkcoded packets and cause transmission of the feedback value(s) to theretransmission logic circuitry of the AP MLD 1210.

After receipt of the feedback value(s) from the one or more of the MLDs1230, 1290, 1292, 1294, 1296, and 1298, the AP MLD 1210 may determinethe feedback values, identify corresponding sub-strategies of the one ormore retransmission schemes, generate network coded packets for thefirst retransmission to each of the one or more of the MLDs 1230, 1290,1292, 1294, 1296, and 1298, and cause transmission of a correspondingsecond number of network coded packets to each of the one or more of theMLDs 1230, 1290, 1292, 1294, 1296, and 1298. In many embodiments, thisprocess of transmitting network coded packets and receiving feedbackvalue(s) may continue until the feedback value(s) indicate that the oneor more of the MLDs 1230, 1290, 1292, 1294, 1296, and 1298 have receivedthe k network coded packets or there is insufficient time remaining ofthe time constraint (e.g., the TxOP) for transmission of the feedbackvalue and/or subsequent receipt of a retransmission from the AP MLD1210. For instance, if the MLD 1230 receives k network coded packetsafter the first transmission, the retransmission logic circuitry of theMLD 1230 may cause transmission of a feedback value that indicates thereceipt of k network coded packets, which causes the retransmissionlogic circuitry of the AP MLD 1210 to terminate the retransmissionscheme for the original set of k packets. If, however, retransmissionlogic circuitry of the MLD 1290 indicates causes transmission of afeedback value to the AP MLD 1210 that indicates a request to receive anadditional number of network coded packets after the firstretransmission, the retransmission logic circuitry of the AP MLD 1210may select a corresponding sub-strategy for a second retransmissionbased on the feedback value received from the MLD 1290 and causetransmission of the number of network coded packets identified by thecorresponding sub-strategy for a second retransmission to the MLD 1290.

In some embodiments, the retransmission logic circuitry of the AP MLD1210 may cause transmission of the first transmission to the one or moreof the MLDs 1230, 1290, 1292, 1294, 1296, and 1298 in a multi-user (MU)protocol data unit (MU-PPDU) on different channels of the same band.Similarly, the retransmission logic circuitry of the one or more of theMLDs 1230, 1290, 1292, 1294, 1296, and 1298 may cause transmissions ofthe feedback value(s) concurrently on different channels of the sameband. For instance, the AP MLD 1210 and the one or more of the MLDs1230, 1290, 1292, 1294, 1296, and 1298 may reside in the same facility.The AP MLD 1210 may receive one data stream to distribute to the each ofthe one or more of the MLDs 1230, 1290, 1292, 1294, 1296, and 1298 withthe same time constraint, reliability, and spectral efficiency.Furthermore, the packet loss rates for each of the one or more of theMLDs 1230, 1290, 1292, 1294, 1296, and 1298 may be substantially similar(such as within a rounding error or plus or minus 1%, 5%, or 10%). Insuch situations, the retransmission logic circuitry of the AP MLD 1210may determine the same full set of retransmission schemes, determine thesame set of optimal retransmission schemes, and select the sameretransmission scheme from the set of optimal retransmission schemes foreach of the or more of the MLDs 1230, 1290, 1292, 1294, 1296, and 1298.In other embodiments, the retransmission logic circuitry of the AP MLD1210 may determine based, e.g., an accuracy of the calculations relatedto determination of the failure probability and/or the packet lossprobability, that the selection of the optimal retransmission schemewill be the same for each of the packet loss rates for the one or moreof the MLDs 1230, 1290, 1292, 1294, 1296, and 1298.

In some embodiments, the retransmission logic circuitry of the AP MLD1210 may cause transmission of at least the first transmission ofnetwork coded packets in an MU-PPDU to the one or more of the MLDs 1230,1290, 1292, 1294, 1296, and 1298 when, for instance, the firsttransmissions to the one or more of the MLDs 1230, 1290, 1292, 1294,1296, and 1298 include the same number of the same size network codedpackets. Furthermore, the retransmission logic circuitry of the AP MLD1210 may cause transmission of one or more of the retransmissions in anMU PPDU if such retransmissions include the same number of network codedpackets for each of the one or more of the MLDs 1230, 1290, 1292, 1294,1296, and 1298.

The AP MLD 1210 and MLD 1230 may comprise processor(s) 1201 and memory1231, respectively. The processor(s) 1201 may comprise any dataprocessing device such as a microprocessor, a microcontroller, a statemachine, and/or the like, and may execute instructions or code in thememory 1211. The memory 1211 may comprise a storage medium such asDynamic Random Access Memory (DRAM), read only memory (ROM), buffers,registers, cache, flash memory, hard disk drives, solid-state drives, orthe like. The memory 1211 may store the frames, frame structures, frameheaders, etc., 1212 and may also comprise code for retransmission logiccircuitry and code to generate, scramble, encode, decode, parse, andinterpret MAC frames and/or PHY frames and physical layer protocol dataunits (PPDUs).

The baseband processing circuitry 1218 may comprise a baseband processorand/or one or more circuits to implement an MLD station managemententity (MM-SME) and a station management entity (SME) per link. TheMM-SME may coordinate management of, communications between, andinteractions between SMEs for the links.

In some embodiments, the SME may interact with a MAC layer managemententity to perform MAC layer functionality and a PHY management entity toperform PHY functionality. In such embodiments, the baseband processingcircuitry 1218 may interact with processor(s) 1201 to coordinate higherlayer functionality with MAC layer and PHY functionality.

In some embodiments, the baseband processing circuitry 1218 may interactwith one or more analog devices to perform PHY functionality such asscrambling, encoding, modulating, and the like. In other embodiments,the baseband processing circuitry 1218 may execute code to perform oneor more of the PHY functionality such as scrambling, encoding,modulating, and the like.

The MAC layer functionality may execute MAC layer code stored in thememory 1211. In further embodiments, the MAC layer functionality mayinterface the processor(s) 1201.

The MAC layer functionality may communicate with the PHY via the SME totransmit a MAC frame such as an A-MPDU, in a PHY frame to the MLD 1230.The MAC layer functionality may generate frames such as management,data, and control frames.

The PHY may prepare the MAC frame for transmission by, e.g., determininga preamble to prepend to a MAC frame to create a PHY frame. The preamblemay include one or more short training field (STF) values, long trainingfield (LTF) values, and signal (SIG) field values. A wireless networkinterface 1222 or the baseband processing circuitry 1218 may prepare thePHY frame as a scrambled, encoded, modulated PPDU in the time domainsignals for the radio 1224. Furthermore, the TSF timer 1205 may providea timestamp value for inclusion in a timestamp field of the PPDU toindicate the time at which the PPDU is transmitted.

After processing the PHY frame, a radio 1225 may impress digital dataonto subcarriers of RF frequencies for transmission by electromagneticradiation via elements of an antenna array or antennas 1224 and via thenetwork 1280 to a receiving MLD STA of a MLD such as the MLD 1230.

The wireless network I/F 1222 also comprises a receiver. The receiverreceives electromagnetic energy, extracts the digital data, and theanalog PHY and/or the baseband processor 1218 decodes a PHY frame and aMAC frame from a PPDU.

The MLD 1230 may receive a PPDU such as an A-MPDU from the AP MLD 1210via the network 1280. The MLD 1230 may comprise processor(s) 1231 andmemory 1241. The processor(s) 1231 may comprise any data processingdevice such as a microprocessor, a microcontroller, a state machine,and/or the like, and may execute instructions or code in the memory1241. The memory 1241 may comprise a storage medium such as DynamicRandom Access Memory (DRAM), read only memory (ROM), buffers, registers,cache, flash memory, hard disk drives, solid-state drives, or the like.The memory 1241 may store 1242 the frames, frame structures, frameheaders, etc., and may also comprise code for retransmission logiccircuitry and code to generate, scramble, encode, decode, parse, andinterpret MAC frames and/or PHY frames (PPDUs).

The baseband processing circuitry 1248 may comprise a baseband processorand/or one or more circuits to implement a SME and the SME may interactwith a MAC layer management entity to perform MAC layer functionalityand a PHY management entity to perform PHY functionality. In suchembodiments, the baseband processing circuitry 1248 may interact withprocessor(s) 1231 to coordinate higher layer functionality with MAClayer and PHY functionality.

In some embodiments, the baseband processing circuitry 1218 may interactwith one or more analog devices to perform PHY functionality such asdescrambling, decoding, demodulating, and the like. In otherembodiments, the baseband processing circuitry 1218 may execute code toperform one or more of the PHY functionalities such as descrambling,decoding, demodulating, and the like.

The MLD 1230 may receive the PPDU at the antennas 1258, which pass thesignals along to the FEM 1256. The FEM 1256 may amplify and filter thesignals and pass the signals to the radio 1254 (also referred to as RFcircuitry or radio integrated circuit (IC) circuitry). The radio 1254may filter the carrier signals from the signals and determine if thesignals represent a PPDU. If so, analog circuitry of the wirelessnetwork I/F 1252 or physical layer functionality implemented in thebaseband processing circuitry 1248 may demodulate, decode, descramble,etc. the PPDU. The baseband processing circuitry 1248 may identify,parse, and interpret a MAC service data unit (MSDU) from the physicallayer service data unit (PSDU) of the PPDU.

FIG. 1D is a block diagram of a radio architecture 1300 such as thewireless communications I/F 1222 and 1252 in accordance with someembodiments that may be implemented in, e.g., the AP MLD 1210 and/or theMLD 1230 of FIG. 1C. The radio architecture 1300 may include radiofront-end module (FEM) circuitry 1304 a-b, radio IC circuitry 1306 a-band baseband processing circuitry 1308 a-b. The radio architecture 1300as shown includes both Wireless Local Area Network (WLAN) functionalityand Bluetooth (BT) functionality although embodiments are not solimited. In this disclosure, “WLAN” and “Wi-Fi” are usedinterchangeably.

FEM circuitry 1304 a-b may include a WLAN or Wi-Fi FEM circuitry 1304 aand a Bluetooth (BT) FEM circuitry 1304 b. The WLAN FEM circuitry 1304 amay include a receive signal path comprising circuitry configured tooperate on WLAN RF signals received from one or more antennas 1301, toamplify the received signals and to provide the amplified versions ofthe received signals to the WLAN radio IC circuitry 1306 a for furtherprocessing. The BT FEM circuitry 1304 b may include a receive signalpath which may include circuitry configured to operate on BT RF signalsreceived from one or more antennas 1301, to amplify the received signalsand to provide the amplified versions of the received signals to the BTradio IC circuitry 1306 b for further processing. FEM circuitry 1304 amay also include a transmit signal path which may include circuitryconfigured to amplify WLAN signals provided by the radio IC circuitry1306 a for wireless transmission by one or more of the antennas 1301. Inaddition, FEM circuitry 1304 b may also include a transmit signal pathwhich may include circuitry configured to amplify BT signals provided bythe radio IC circuitry 1306 b for wireless transmission by the one ormore antennas. In the embodiment of FIG. 1D, although FEM 1304 a and FEM1304 b are shown as being distinct from one another, embodiments are notso limited, and include within their scope the use of an FEM (not shown)that includes a transmit path and/or a receive path for both WLAN and BTsignals, or the use of one or more FEM circuitries where at least someof the FEM circuitries share transmit and/or receive signal paths forboth WLAN and BT signals.

Radio IC circuitry 1306 a-b as shown may include WLAN radio IC circuitry1306 a and BT radio IC circuitry 1306 b. The WLAN radio IC circuitry1306 a may include a receive signal path which may include circuitry todown-convert WLAN RF signals received from the FEM circuitry 1304 a andprovide baseband signals to WLAN baseband processing circuitry 1308 a.BT radio IC circuitry 1306 b may in turn include a receive signal pathwhich may include circuitry to down-convert BT RF signals received fromthe FEM circuitry 1304 b and provide baseband signals to BT basebandprocessing circuitry 1308 b. WLAN radio IC circuitry 1306 a may alsoinclude a transmit signal path which may include circuitry to up-convertWLAN baseband signals provided by the WLAN baseband processing circuitry1308 a and provide WLAN RF output signals to the FEM circuitry 1304 afor subsequent wireless transmission by the one or more antennas 1301.BT radio IC circuitry 1306 b may also include a transmit signal pathwhich may include circuitry to up-convert BT baseband signals providedby the BT baseband processing circuitry 1308 b and provide BT RF outputsignals to the FEM circuitry 1304 b for subsequent wireless transmissionby the one or more antennas 1301. In the embodiment of FIG. 1D, althoughradio IC circuitries 1306 a and 1306 b are shown as being distinct fromone another, embodiments are not so limited, and include within theirscope the use of a radio IC circuitry (not shown) that includes atransmit signal path and/or a receive signal path for both WLAN and BTsignals, or the use of one or more radio IC circuitries where at leastsome of the radio IC circuitries share transmit and/or receive signalpaths for both WLAN and BT signals.

Baseband processing circuitry 1308 a-b may include a WLAN basebandprocessing circuitry 1308 a and a BT baseband processing circuitry 1308b. The WLAN baseband processing circuitry 1308 a may include a memory,such as, for example, a set of RAM arrays in a Fast Fourier Transform orInverse Fast Fourier Transform block (not shown) of the WLAN basebandprocessing circuitry 1308 a. Each of the WLAN baseband circuitry 1308 aand the BT baseband circuitry 1308 b may further include one or moreprocessors and control logic to process the signals received from thecorresponding WLAN or BT receive signal path of the radio IC circuitry1306 a-b, and to also generate corresponding WLAN or BT baseband signalsfor the transmit signal path of the radio IC circuitry 1306 a-b. Each ofthe baseband processing circuitries 1308 a and 1308 b may furtherinclude physical layer (PHY) and medium access control layer (MAC)circuitry, and may further interface with a device for generation andprocessing of the baseband signals and for controlling operations of theradio IC circuitry 1306 a-b.

Referring still to FIG. 1D, according to the shown embodiment, WLAN-BTcoexistence circuitry 1313 may include logic providing an interfacebetween the WLAN baseband circuitry 1308 a and the BT baseband circuitry1308 b to enable use cases requiring WLAN and BT coexistence. Inaddition, a switch circuitry 1303 may be provided between the WLAN FEMcircuitry 1304 a and the BT FEM circuitry 1304 b to allow switchingbetween the WLAN and BT radios according to application needs. Inaddition, although the antennas 1301 are depicted as being respectivelyconnected to the WLAN FEM circuitry 1304 a and the BT FEM circuitry 1304b, embodiments include within their scope the sharing of one or moreantennas as between the WLAN and BT FEMs, or the provision of more thanone antenna connected to each of FEM 1304 a or 1304 b.

In some embodiments, the front-end module circuitry 1304 a-b, the radioIC circuitry 1306 a-b, and baseband processing circuitry 1308 a-b may beprovided on a single radio card, such as wireless network interface card(NIC) 1302. In some other embodiments, the one or more antennas 1301,the FEM circuitry 1304 a-b and the radio IC circuitry 1306 a-b may beprovided on a single radio card. In some other embodiments, the radio ICcircuitry 1306 a-b and the baseband processing circuitry 1308 a-b may beprovided on a single chip or integrated circuit (IC), such as IC 1312.

In some embodiments, the wireless NIC 1302 may include a WLAN radio cardand may be configured for Wi-Fi communications, although the scope ofthe embodiments is not limited in this respect. In some of theseembodiments, the radio architecture 1300 may be configured to receiveand transmit orthogonal frequency division multiplexed (OFDM) ororthogonal frequency division multiple access (OFDMA) communicationsignals over a multicarrier communication channel. The OFDM or OFDMAsignals may comprise a plurality of orthogonal subcarriers.

In some of these multicarrier embodiments, radio architecture 1300 maybe part of a Wi-Fi communication station (STA) such as a wireless accesspoint (AP), a base station or a mobile device including a Wi-Fi device.In some of these embodiments, radio architecture 1300 may be configuredto transmit and receive signals in accordance with specificcommunication standards and/or protocols, such as any of the Instituteof Electrical and Electronics Engineers (IEEE) standards including,802.11n-2009, IEEE 802.11-2012, IEEE 802.11-2020, IEEE 802.11ay-2021,IEE 802.11ba-2021, IEEE 802.11ax-2021, and/or IEEE 802.11be standardsand/or proposed specifications for WLANs, although the scope ofembodiments is not limited in this respect. The radio architecture 1300may also be suitable to transmit and/or receive communications inaccordance with other techniques and standards.

In some embodiments, the radio architecture 1300 may be configured forhigh-efficiency Wi-Fi (HEW) communications in accordance with the IEEE802.11ax-2021 standard. In these embodiments, the radio architecture1300 may be configured to communicate in accordance with an OFDMAtechnique, although the scope of the embodiments is not limited in thisrespect.

In some other embodiments, the radio architecture 1300 may be configuredto transmit and receive signals transmitted using one or more othermodulation techniques such as spread spectrum modulation (e.g., directsequence code division multiple access (DS-CDMA) and/or frequencyhopping code division multiple access (FH-CDMA)), time-divisionmultiplexing (TDM) modulation, and/or frequency-division multiplexing(FDM) modulation, although the scope of the embodiments is not limitedin this respect.

In some embodiments, as further shown in FIG. 1D, the BT basebandcircuitry 1308 b may be compliant with a Bluetooth (BT) connectivityspecification such as Bluetooth 5.0, or any other iteration of theBluetooth specification.

In some embodiments, the radio architecture 1300 may include other radiocards, such as a cellular radio card configured for cellular (e.g., 5GPPsuch as LTE, LTE-Advanced or 7G communications).

In some IEEE 802.11 embodiments, the radio architecture 1300 may beconfigured for communication over various channel bandwidths includingbandwidths having center frequencies of about 2.4 GHz, 5 GHz, and 6 GHz.The various bandwidths may include bandwidths of about 20 MHz, 40 MHz,80 MHz, 160 MHz, 240 MHz, and 320 MHz with contiguous or non-contiguousbandwidths having increments of 20 MHz, 40 MHz, 80 MHz, 160 MHz, 240MHz, and 320 MHz. The scope of the embodiments is not limited withrespect to the above center frequencies, however.

FIG. 1E illustrates FEM circuitry 1400 such as WLAN FEM circuitry 1304 ashown in FIG. 1 D in accordance with some embodiments. Although theexample of FIG. 1E is described in conjunction with the WLAN FEMcircuitry 1304 a, the example of FIG. 1E may be described in conjunctionwith other configurations such as the BT FEM circuitry 1304 b.

In some embodiments, the FEM circuitry 1400 may include a TX/RX switch1402 to switch between transmit mode and receive mode operation. The FEMcircuitry 1400 may include a receive signal path and a transmit signalpath. The receive signal path of the FEM circuitry 1400 may include alow-noise amplifier (LNA) 1406 to amplify received RF signals 1403 andprovide the amplified received RF signals 1407 as an output (e.g., tothe radio IC circuitry 1306 a-b (FIG. 1D)). The transmit signal path ofthe circuitry 1304 a may include a power amplifier (PA) to amplify inputRF signals 1409 (e.g., provided by the radio IC circuitry 1306 a-b), andone or more filters 1412, such as band-pass filters (BPFs), low-passfilters (LPFs) or other types of filters, to generate RF signals 1415for subsequent transmission (e.g., by one or more of the antennas 1301(FIG. 1D)) via an example duplexer 1414.

In some dual-mode embodiments for Wi-Fi communication, the FEM circuitry1400 may be configured to operate in the 2.4 GHz frequency spectrum, the5 GHz frequency spectrum, or the 6 GHz frequency spectrum. In theseembodiments, the receive signal path of the FEM circuitry 1400 mayinclude a receive signal path duplexer 1404 to separate the signals fromeach spectrum as well as provide a separate LNA 1406 for each spectrumas shown. In these embodiments, the transmit signal path of the FEMcircuitry 1400 may also include a power amplifier 1410 and a filter1412, such as a BPF, an LPF or another type of filter for each frequencyspectrum and a transmit signal path duplexer 1404 to provide the signalsof one of the different spectrums onto a single transmit path forsubsequent transmission by the one or more of the antennas 1301 (FIG.1D). In some embodiments, BT communications may utilize the 2.4 GHzsignal paths and may utilize the same FEM circuitry 1400 as the one usedfor WLAN communications.

FIG. 1F illustrates radio IC circuitry 1506 a in accordance with someembodiments. The radio IC circuitry 1306 a is one example of circuitrythat may be suitable for use as the WLAN or BT radio IC circuitry 1306a/1306 b (FIG. 1D), although other circuitry configurations may also besuitable. Alternatively, the example of FIG. 1F may be described inconjunction with the example BT radio IC circuitry 1306 b.

In some embodiments, the radio IC circuitry 1306 a may include a receivesignal path and a transmit signal path. The receive signal path of theradio IC circuitry 1306 a may include at least mixer circuitry 1502,such as, for example, down-conversion mixer circuitry, amplifiercircuitry 1506 and filter circuitry 1508. The transmit signal path ofthe radio IC circuitry 1306 a may include at least filter circuitry 1512and mixer circuitry 1514, such as, for example, upconversion mixercircuitry. Radio IC circuitry 1306 a may also include synthesizercircuitry 1504 for synthesizing a frequency 1505 for use by the mixercircuitry 1502 and the mixer circuitry 1514. The mixer circuitry 1502and/or 1514 may each, according to some embodiments, be configured toprovide direct conversion functionality. The latter type of circuitrypresents a much simpler architecture as compared with standardsuper-heterodyne mixer circuitries, and any flicker noise brought aboutby the same may be alleviated for example through the use of OFDMmodulation. FIG. 1F illustrates only a simplified version of a radio ICcircuitry, and may include, although not shown, embodiments where eachof the depicted circuitries may include more than one component. Forinstance, mixer circuitry 1514 may each include one or more mixers, andfilter circuitries 1508 and/or 1512 may each include one or morefilters, such as one or more BPFs and/or LPFs according to applicationneeds. For example, when mixer circuitries are of the direct-conversiontype, they may each include two or more mixers.

In some embodiments, mixer circuitry 1502 may be configured todown-convert RF signals 1407 received from the FEM circuitry 1304 a-b(FIG. 1D) based on the synthesized frequency 1505 provided bysynthesizer circuitry 1504. The amplifier circuitry 1506 may beconfigured to amplify the down-converted signals and the filtercircuitry 1508 may include an LPF configured to remove unwanted signalsfrom the down-converted signals to generate output baseband signals1507. Output baseband signals 1507 may be provided to the basebandprocessing circuitry 1308 a-b (FIG. 1D) for further processing. In someembodiments, the output baseband signals 1507 may be zero-frequencybaseband signals, although this is not a requirement. In someembodiments, mixer circuitry 1502 may comprise passive mixers, althoughthe scope of the embodiments is not limited in this respect.

In some embodiments, the mixer circuitry 1514 may be configured toup-convert input baseband signals 1511 based on the synthesizedfrequency 1505 provided by the synthesizer circuitry 1504 to generate RFoutput signals 1409 for the FEM circuitry 1304 a-b. The baseband signals1511 may be provided by the baseband processing circuitry 1308 a-b andmay be filtered by filter circuitry 1512. The filter circuitry 1512 mayinclude an LPF or a BPF, although the scope of the embodiments is notlimited in this respect.

In some embodiments, the mixer circuitry 1502 and the mixer circuitry1514 may each include two or more mixers and may be arranged forquadrature down-conversion and/or upconversion respectively with thehelp of synthesizer 1504. In some embodiments, the mixer circuitry 1502and the mixer circuitry 1514 may each include two or more mixers eachconfigured for image rejection (e.g., Hartley image rejection). In someembodiments, the mixer circuitry 1502 and the mixer circuitry 1514 maybe arranged for direct down-conversion and/or direct upconversion,respectively. In some embodiments, the mixer circuitry 1502 and themixer circuitry 1514 may be configured for super-heterodyne operation,although this is not a requirement.

Mixer circuitry 1502 may comprise, according to one embodiment:quadrature passive mixers (e.g., for the in-phase (I) and quadraturephase (Q) paths). In such an embodiment, RF input signal 1407 from FIG.1F may be down-converted to provide I and Q baseband output signals tobe sent to the baseband processor.

Quadrature passive mixers may be driven by zero and ninety-degreetime-varying LO switching signals provided by a quadrature circuitrywhich may be configured to receive a LO frequency (fLO) from a localoscillator or a synthesizer, such as LO frequency 1505 of synthesizer1504 (FIG. 1F). In some embodiments, the LO frequency may be the carrierfrequency, while in other embodiments, the LO frequency may be afraction of the carrier frequency (e.g., one-half the carrier frequency,one-third the carrier frequency). In some embodiments, the zero andninety-degree time-varying switching signals may be generated by thesynthesizer, although the scope of the embodiments is not limited inthis respect.

In some embodiments, the LO signals may differ in duty cycle (thepercentage of one period in which the LO signal is high) and/or offset(the difference between start points of the period). In someembodiments, the LO signals may have an 85% duty cycle and an 80%offset. In some embodiments, each branch of the mixer circuitry (e.g.,the in-phase (I) and quadrature phase (Q) path) may operate at an 80%duty cycle, which may result in a significant reduction is powerconsumption.

The RF input signal 1407 (FIG. 1E) may comprise a balanced signal,although the scope of the embodiments is not limited in this respect.The I and Q baseband output signals may be provided to low-noiseamplifier, such as amplifier circuitry 1506 (FIG. 1F) or to filtercircuitry 1508 (FIG. 1F).

In some embodiments, the output baseband signals 1507 and the inputbaseband signals 1511 may be analog baseband signals, although the scopeof the embodiments is not limited in this respect. In some alternateembodiments, the output baseband signals 1507 and the input basebandsignals 1511 may be digital baseband signals. In these alternateembodiments, the radio IC circuitry may include analog-to-digitalconverter (ADC) and digital-to-analog converter (DAC) circuitry.

In some dual-mode embodiments, a separate radio IC circuitry may beprovided for processing signals for each spectrum, or for otherspectrums not mentioned here, although the scope of the embodiments isnot limited in this respect.

In some embodiments, the synthesizer circuitry 1504 may be afractional-N synthesizer or a fractional N/N+1 synthesizer, although thescope of the embodiments is not limited in this respect as other typesof frequency synthesizers may be suitable. For example, synthesizercircuitry 1504 may be a delta-sigma synthesizer, a frequency multiplier,or a synthesizer comprising a phase-locked loop with a frequencydivider. According to some embodiments, the synthesizer circuitry 1504may include digital synthesizer circuitry. An advantage of using adigital synthesizer circuitry is that, although it may still includesome analog components, its footprint may be scaled down much more thanthe footprint of an analog synthesizer circuitry. In some embodiments,frequency input into synthesizer circuitry 1504 may be provided by avoltage-controlled oscillator (VCO), although that is not a requirement.A divider control input may further be provided by either of thebaseband processing circuitry 1308 a-b (FIG. 1D) depending on thedesired output frequency 1505. In some embodiments, a divider controlinput (e.g., N) may be determined from a look-up table (e.g., within aWi-Fi card) based on a channel number and a channel center frequency asdetermined or indicated by the example application processor 1310. Theapplication processor 1310 may include, or otherwise be connected to,one of the example secure signal converter 101 or the example receivedsignal converter 103 (e.g., depending on which device the example radioarchitecture is implemented in).

In some embodiments, synthesizer circuitry 1504 may be configured togenerate a carrier frequency as the output frequency 1505, while inother embodiments, the output frequency 1505 may be a fraction of thecarrier frequency (e.g., one-half the carrier frequency, one-third thecarrier frequency). In some embodiments, the output frequency 1505 maybe a LO frequency (fLO).

FIG. 1G illustrates a functional block diagram of baseband processingcircuitry 1308 a in accordance with some embodiments. The basebandprocessing circuitry 1308 a is one example of circuitry that may besuitable for use as the baseband processing circuitry 1308 a (FIG. 1D),although other circuitry configurations may also be suitable.Alternatively, the example of FIG. 1F may be used to implement theexample BT baseband processing circuitry 1308 b of FIG. 1D.

The baseband processing circuitry 1308 a may include a receive basebandprocessor (RX BBP) 1602 for processing receive baseband signals 1509provided by the radio IC circuitry 1306 a-b (FIG. 1D) and a transmitbaseband processor (TX BBP) 1604 for generating transmit basebandsignals 1511 for the radio IC circuitry 1306 a-b. The basebandprocessing circuitry 1308 a may also include control logic 1606 forcoordinating the operations of the baseband processing circuitry 1308 a.

In some embodiments (e.g., when analog baseband signals are exchangedbetween the baseband processing circuitry 1308 a-b and the radio ICcircuitry 1306 a-b), the baseband processing circuitry 1308 a mayinclude ADC 1610 to convert analog baseband signals 1609 received fromthe radio IC circuitry 1306 a-b to digital baseband signals forprocessing by the RX BBP 1602. In these embodiments, the basebandprocessing circuitry 1308 a may also include DAC 1612 to convert digitalbaseband signals from the TX BBP 1604 to analog baseband signals 1611.

In some embodiments that communicate OFDM signals or OFDMA signals, suchas through baseband processor 1308 a, the transmit baseband processor1604 may be configured to generate OFDM or OFDMA signals as appropriatefor transmission by performing an inverse fast Fourier transform (IFFT).The receive baseband processor 1602 may be configured to processreceived OFDM signals or OFDMA signals by performing an FFT. In someembodiments, the receive baseband processor 1602 may be configured todetect the presence of an OFDM signal or OFDMA signal by performing anautocorrelation, to detect a preamble, such as a short preamble, and byperforming a cross-correlation, to detect a long preamble. The preamblesmay be part of a predetermined frame structure for Wi-Fi communication.

Referring back to FIG. 1D, in some embodiments, the antennas 1301 (FIG.1D) may each comprise one or more directional or omnidirectionalantennas, including, for example, dipole antennas, monopole antennas,patch antennas, loop antennas, microstrip antennas or other types ofantennas suitable for transmission of RF signals. In some multiple-inputmultiple-output (MIMO) embodiments, the antennas may be effectivelyseparated to take advantage of spatial diversity and the differentchannel characteristics that may result. Antennas 1301 may each includea set of phased-array antennas, although embodiments are not so limited.

Although the radio architecture 1300 is illustrated as having severalseparate functional elements, one or more of the functional elements maybe combined and may be implemented by combinations ofsoftware-configured elements, such as processing elements includingdigital signal processors (DSPs), and/or other hardware elements. Forexample, some elements may comprise one or more microprocessors, DSPs,field-programmable gate arrays (FPGAs), application specific integratedcircuits (ASICs), radio-frequency integrated circuits (RFICs) andcombinations of various hardware and logic circuitry for performing atleast the functions described herein. In some embodiments, thefunctional elements may refer to one or more processes operating on oneor more processing elements.

Some embodiments may be used in conjunction with one or more types ofwireless communication signals and/or systems following one or morewireless communication protocols, for example, radio frequency (RF),infrared (IR), frequency-division multiplexing (FDM), orthogonal FDM(OFDM), time-division multiplexing (TDM), time-division multiple access(TDMA), extended TDMA (E-TDMA), general packet radio service (GPRS),extended GPRS, code-division multiple access (CDMA), wideband CDMA(WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA,multi-carrier modulation (MDM), discrete multi-tone (DMT), Bluetooth®,global positioning system (GPS), Wi-Fi, Wi-Max, ZigBee, ultra-wideband(UWB), global system for mobile communications (GSM), 2G, 2.5G, 3G,3.5G, 4G, fifth generation (5G) mobile networks, 6^(th) generationmobile networks, 3GPP, long term evolution (LTE), LTE advanced, enhanceddata rates for GSM Evolution (EDGE), or the like. Other embodiments maybe used in various other devices, systems, and/or networks.

FIG. 2A illustrates an embodiment 2010 of network coding of an originalset of k data packets [P₁, P₂, . . . , P_(k)] by retransmission logiccircuitry of a STA such as the MLDs illustrated and discussed inconjunction with FIGS. 1A-1G. Given a set of k same-sized packets [P₁,P₂, . . . , P_(k)] viewed as column vectors over a Galois Field

, the retransmission logic circuitry may construct or generate alinearly coded packet as R=Σ_(i=1) ^(k)c_(i)·P_(i), where the encodingvector [c₁, c₂, . . . , c_(k)]^(T) comprises coefficients chosen fromthe Galois Field

. Concurrently or after generation of the linearly coded packets, theretransmission logic circuitry may cause transmission of multiple ofsuch linearly coded packets with different encoding vectors through alossy channel/network to retransmission logic circuitry of a second STA,where packets may be dropped (erasure) based on errors in receipt of thelinearly coded packets. If the retransmission logic circuitry of thesecond STA receives k of the network coded packets [R₁, R₂, . . . ,R_(k)] that are linearly independent, then the retransmission logiccircuitry of the second STA can recover the original packets [P₁, P₂, .. . , P_(k)] using [R₁ R₂ . . . R_(k)]M⁻¹, where

${M = \begin{bmatrix}c_{1}^{1} & c_{1}^{2} & \cdots & c_{1}^{k} \\c_{2}^{1} & c_{2}^{2} & \cdots & c_{2}^{k} \\ \vdots & \vdots & \cdots & \vdots \\c_{k}^{1} & c_{k}^{2} & \cdots & c_{k}^{k}\end{bmatrix}},$

the i-th column of which consists of the encoding vector for R_(i).

Network coding provides much better Rate-Reliability trade-off thanrepetition, and this trade-off improves with increasing coding groupsize (k). In practice, the coding coefficients are often chosen fromcodes with good performances, e.g., with maximum distance separable(MDS) property, such that any choices of k encoding vectors are linearlyindependent.

FIG. 2B illustrates an embodiment 2100 of an aggregated MAC PDU (A-MPDU)frame structure 2120 and communications exchanged between retransmissionlogic circuitry of STAs. The retransmission logic circuitry of atransmitter STA may transmit the A-MPDU 2120 as a single PPDU and eachA-MPDU frame 2120 comprises multiple A-MPDU subframes. Each of thesubframes, in the present embodiment, includes a network coded packetnumbered NC 1 through NC N+2. The network coded data of the networkcoded packet resides in the frame body of the MSDU 2124 of each A-MPDUsubframe 2122.

The A-MPDU subframe 2122 may be an example of fields that may reside ineach of the A-MPDU subframes in the A-MPDU 2120 although embodiments arenot limited to the fields in this embodiment of the A-MPDU subframe2122. The A-MPDU subframe 2122 may comprise a destination address (DA)field, a source address (SA) field, a length field, a MSDU field, andoptionally padding. The DA field may comprise an address such as a MACaddress of the receiver STA. The SA may comprise an address such as aMAC address of the transmitter STA. The length may comprise the lengthin octets of the MSDU. And the padding may reside in each A-MPDU toincrease the size A-MPDU subframe length to a multiple of four octetsexcept that the last A-MPDU may not include padding.

In the present embodiment, the MSDU 2124 may comprise a MSDU header, aframe body, and a frame check sequence. The MSDU header may comprise aframe control (FC) field, a duration field, an optional sequence controlfield, an optional quality of service (QoS) field, and an optionalhigh-throughput (HT) control field. The FC field may comprise a frametype field, a frame subtype field, and possibly other fields. Theduration field may comprise a network allocation vector to indicate thetime remaining in the transmission such as the time remaining in thetime constraint (T).

The optional sequence control field may comprise a fragment number fieldand a sequence number field. The fragment number field may comprise afragment number such as zero and the sequence field may comprise asequence number associated with a sequence number assigned to theoriginal set of k packets of data of the data stream included in thenetwork coded packets.

The QoS field may be present in a QoS data frame and may include twobits comprising an Ack policy indicator, four bits comprising a trafficidentifier, eight bits comprising a TxOP limit, and possibly other bits.The Ack policy indicator may indicate the block acknowledgement policyfor the A-MPDU 2120. The traffic identifier (TID) may, in someembodiments, identify the data in the network coded packets as part of adata stream. The TxOP limit may, in some embodiments, specify a timelimit on a TxOP for the retransmission scheme for the A-MPDU 2120.

After the transmission of the A-MPDU 2120 to the receiver STA, theretransmission logic circuitry of the receiver STA may decode the A-MPDU2120 to determine a feedback value indicative of the number of networkcoded packets received or indicative of the number of network codedpackets that the receiver STA still needs to receive to decode theentire set of the original k data packets from the data stream. Theretransmission logic circuitry of the receiver STA may causetransmission of a BlockAck 2130 including the feedback value such asone. If the feedback value indicates that zero more network codedpackets are requested, the receiver STA has received k network codedpackets from the transmitter STA and the retransmission schemeterminates. In the present embodiment, the feedback value of oneindicates that a retransmission 2140, in accordance with theretransmission scheme, is requested.

In the present embodiment, the BlockAck 2130 may be a new BlockAck frameformat that replaces a bitmap fields indicative of each subframe inA-MPDU in current BlockAcks with a collective number (which may indicatethe additional number of encoded packets the receiver wants), thushaving a shorter field size than the bitmap fields. In presentembodiment, we assume the number of additional packets needed fordecoding is reported in the BlockAck 2130. For example, if k is thenumber of packets encoded together, then, as mentioned above, thereceiver needs to gather at least k encoded packets to enable decoding.If after the last round of (re)transmission, k′<k packets are receivedand so k-k′ more packets are needed for decoding, then the number k-k′is fed back in the BlockAck 2130.

Note that embodiments are not limited to use of the new BlockAck format.The current BlockAck format may be used to communicate the feedbackvalue by indicating the feedback value in the bitmaps. However, sincethe retransmission schemes may not need to the additional informationabout which of the specific packets were erased or dropped, theretransmission logic circuitry of the receiver of the transmitter STAmay interpret the bitmaps to represent the feedback value.

The BlockAck 2130 is separated from the A-MPDU 2120 by an interframespace such as a short interframe space (SIFS). The BlockAck 2130 isseparated from the retransmission 2140 by the transmitter STA (anotherA-MPDU with additional network coded packets NC N+1 and NC N+2) by aninterframe space such a SIFS to allow the transmitter STA and thereceiver STA to transition between transmitting and receiving (Tx/Rxtransition). The combination of the SIFS between the A-MPDU 2120 and theBlockAck 2130 and the SIFS between the BlockAck 2130 and theretransmission 2140 may represent the gap time for calculations used bythe retransmission logic circuitry of the transmitter STA to determinethe retransmission scheme. Note also that the value of d in thecalculations described herein includes the sum of the feedback time(time for transmission of the feedback such as a BlockAck) and the gaptime.

FIG. 2C illustrates an embodiment 2200 of an example of a packet flowfor a retransmission scheme. At 2210, the retransmission logic circuitryof an AP STA may receive an A-MPDU with an original set of k (five)packets 2250. In preparation for transmitting the original set of kpackets to a STA, the retransmission logic circuitry of the AP STA mayencode 2215 the five data packets with network coding at a code rate ofk/n, which is 5/10 in the present embodiment, to have a sufficientnumber of network coded packets for a retransmission scheme.

The retransmission logic circuitry of the AP STA may include the tennetwork coded packets in a payload or frame body of an MSDU of tenA-MPDU subframes of the A-MPDU 2220 and may cause transmission of theA-MPDU 2220 to the STA. The retransmission logic circuitry of the STAmay receive the A-MPDU 2220 and begin to decode 2240 the A-MPDU 2220 todetermine the original set of k (five) packets 2250.

Before, during, or after decoding 2240 the original set of k (five)packets 2250, the retransmission logic circuitry of the STA maydetermine that two of the ten A-MPDU subframes of the A-MPDU 2220 weredropped due to errors in reception of the two of the ten A-MPDUsubframes. Based on receipt of eight of the ten A-MPDU subframes and thelinear independency of any subset of five (k) of the ten network codedpackets in the A-MPDU subframes, however, the retransmission logiccircuitry of the STA may decode 2240 the A-MPDU 2220 to determine theoriginal set of k (five) packets 2250.

Before, during, or after decoding 2240 the original set of k (five)packets 2250, the retransmission logic circuitry of the STA may generateand cause transmission of a BlockAck with the value of zero to indicatethat the STA requests no more network coded packets, with a value ofeight to indicate that the STA received eight of the network codedpackets, or with the value of five to indicate that the retransmissionlogic circuitry of the STA successfully decoded five of the original setof k (five) packets 2250. In response to receipt of the BlockAck, theretransmission logic circuitry of the AP STA may terminate theretransmission scheme for the original set of k (five) packets 2250.

FIG. 2D illustrates an embodiment of a network coding retransmissionscheme 2300 such as the retransmission scheme discussed in FIGS. 1A-1Gand 2A-2C. In the first transmission of the retransmission scheme, theretransmission logic circuitry of an AP STA may cause transmission of x₁encoded packets in an A-MPDU to a STA and each packet takes time T totransmit. Due to random errors, some packets may be dropped and y₁ ofthem are received by the retransmission logic circuitry of the STA,where y₁≤x₁. Thus, the retransmission logic circuitry of the STA toreceive z₁=max(k−y₁, 0) more packets to be able to decode the originalset of k packets. The retransmission logic circuitry of the STA may sendfeedback comprising or indicating the number z₁ in the BlockAck, ifthere is enough time to do so. If the retransmission logic circuitry ofthe STA causes transmission of a feedback value, then an extra time d isneeded, which accounts for both the feedback time and gap time. As aresult, after the first transmission of the retransmission scheme, theremaining available time is

T ₁ =T−x ₁ τ−d ₁*,

where d_(i)*=d if there is a feedback value transmitted, otherwised₁*=0. If the remaining time T₁ allows for further transmissions and theretransmission logic circuitry of the AP STA chooses to do so inaccordance with the retransmission scheme with a strategy g, then theretransmission logic circuitry of the AP STA may cause transmission of asecond A-MPDU. The second A-MPDU may contain x₂ packets and thetransmission time may be x₂τ. This retransmission process continuesuntil the retransmission logic circuitry of the STA acknowledges in theBlockAck that 0 more packets are needed, which may indicate thatdecoding is successful, or until the time T is used up, or thetransmitter decides to stop any further transmissions, whichever occursearlier.

We assume that each packet is dropped with an independent andidentically distributed probability e_(r). In this case, a generalnetwork coding retransmission scheme is a strategy g that may determinehow many encoded packets x_(i) to transmit for each round i, given theremaining time T_(i) and the number of missing packets z_(i−1) at theretransmission logic circuitry of the STA to enable decoding. Anembodiment of such a retransmission scheme 2400 is illustrated in FIG.2E.

In FIG. 2E, for example, after the first transmission, z₁=l packets arestill missing at the retransmission logic circuitry of the STA so theretransmission logic circuitry of the STA causes transmission of afeedback value such as one and the retransmission strategy g determinesthat the number of packets (x₂) to transmit in the next round (the firstretransmission). If z₁ takes a different value, then x₂ may be adifferent number. It is convenient to represent each strategy as a tree(of finite depth as the time T is finite), where each layer represents around of transmission and each branch in a layer i corresponds to adifferent value of z_(i−1).

If we do not have the time limit or constraint T then the channelbecomes stationary and, for each round of retransmission, theretransmission logic circuitry of the AP STA only needs to consider atime-invariant strategy g that depends solely on the number of missingpackets z_(i) fed back in the BlockAck. In other words, the tree of theretransmission scheme 2400 reduces to its 2nd layer, as other layers areits repetitions. For this case (no time limit), many embodiments mayfind the optimal network coding retransmission scheme to minimizeexpected resource usage when packets are required to be deliveredsuccessfully (i.e., absolutely reliable).

When a time constraint T is imposed, however, the retransmission schemefor no time limit may not be optimal. Furthermore, there might bedifferent combinations/balances in the performances of reliability andspectral efficiency in different scenarios. Optimizing for a givenperformance measure combination is difficult when there is a timeconstraint, as it often requires exhaustive searching of all the treesin the form of the retransmission strategy g of retransmission scheme2400 which is a large number with respect to the time-unlimited casewhere the tree reduces to a single layer.

FIG. 2F illustrates an embodiment of a two-step optimization approach2500 and recursions for the performance metrics for determining a Paretooptimal set of retransmission schemes such as the retransmission schemesdiscussed in FIGS. 1A-1G and 2A-2E. Despite the difficulty for solvingthe optimization problem directly as discussed in conjunction with FIG.2E, targeting a particular performance measure combination may greatlysimplify the optimization if we decompose the optimization process intothe two-step optimization approach 2500.

First, at element 2510, the retransmission logic circuitry of the AP STAmay find the candidate set of all schemes, P(k′,T), that are potentiallyoptimal for some balance point of performances such as a Pareto-optimalset for reliability and spectral efficiency. Based on the structure ofthe recursive expressions of the performance metrics, the retransmissionlogic circuitry of the AP STA may perform Pareto optimizationrecursively, greatly improving the search efficiency, as in eachrecursion, any retransmission sub-schemes (or retransmissionsub-strategies) that lead to non-Pareto optimal full retransmissionschemes are efficiently pruned by the retransmission logic circuitry ofthe AP STA. Note that any STA may perform the two-step optimizationapproach 2500 even though many embodiments herein describe actions of anAP STA performing the two-step optimization approach 2500.

After the Pareto optimal set, P(k′,T), is found, the retransmissionlogic circuitry of the AP STA may search the candidate set of allpotentially optimal schemes, P(k′,T), for an optimal solution for aparticular combination of performance metrics, which is significantlysmaller and finding the optimal scheme is usually much easier.

FIG. 2G illustrates an embodiment of a two-step optimization approach2400 from FIG. 2E with the branch B_(z) ₀ _(,z) ₁ 2530 and thesub-strategies g_(z) ₀ _(,z) ₁ 2535 identified. The tuple (z₀, . . . ,z_(i−1)) may identify a particular path up to the i-th round oftransmission, which corresponds to a branch B_(z) ₀ _(, . . . , z)_(i−1) on a strategy tree g. For example, the branch B_(z) ₀ _(,z) ₁2530 denotes the 2-round transmission path with z₀=k, z₁=1. For eachbranch B_(z) ₀ _(, . . . , z) _(i−1) , the retransmission logiccircuitry of a STA may define the function value of the strategy g onthis branch as g(B_(z) ₀ _(, . . . , z) _(i−1) )=x_(i), which is thenumber of transmitted packets in the i-th round if the path (z₀, . . . ,z_(i−1)) occurs.

The sub-strategy corresponding to the subtree stemming from the endsection of the branch B_(z) ₀ _(, . . . , z) _(i−1) is defined as g_(z)₀ _(, . . . , z) _(i−1) . In this situation z_(i−1) packets arerequested initially by retransmission logic circuitry of a receiver STAand the time limit is T_(i−1). For example, the subtree circled isdenoted by g_(z) ₀ _(,z) ₁ 2535, where initially z₁=l packets arerequested by retransmission logic circuitry of a receiver STA and thetime limit is T₁.

As the packet losses are random, some variables in the transmissionprocess are also random. We use capitalized letters X_(i), Y_(i), Z_(i)and T_(i) to denote the random variables corresponding to the number ofpackets transmitted and received in round i, the number of packetsmissing at the receiver STA to enable decoding after round i (which canbe expressed as Z_(i)=(Z_(i−1)−Y_(i))⁺:=max(Z_(i−1)−Y_(i),0)), and theremaining time after round i, respectively. The lowercase versionsx_(i), y_(i), z_(i) and t_(i) denote the respective values in aparticular realization of the transmission process. Sometimes somerandom variables are deterministic and the capital and small symbolscoincide. For example, given a strategy g, since Z₀=k is deterministic,the number of transmitted packets in the first round X₁ is alsodeterministic. Thus X₁ is identical to its realization x₁. Similarly,T₁=t₁ and Z₀=z₀ (which is k).

Now we describe the performance metric recursions for both spectralefficiency and reliability.

-   -   1. As the time used to transmit the packets is random, when        considering spectral efficiency, the retransmission logic        circuitry of a transmitter STA may use the expected time used        during the transmissions, which corresponds to the expected        radio resource usage. Denote the expected time for a strategy g        by σ_(k,T)(g), when initially an original set of k packets are        scheduled to be sent to the receiver (i.e., Z₀=k) and the time        limit is T. We have the following expression for the expected        time usage:

$\begin{matrix}{{\sigma_{k,T}(g)} = {\left\lbrack {\sum\limits_{i = 1}^{\infty}\left( {{X_{i}\tau} + d_{i}^{*}} \right)} \right\rbrack.}} & (1)\end{matrix}$

-   -   -   As described earlier d_(i)*=d if there is a feedback            transmitted for round i, otherwise d_(i)*=0. If we define            the function

$1_{\{{{X_{i} > 0},{{T_{i - 1} - {X_{i}\tau}} \geq d}}\}} = \left\{ \begin{matrix}{1,} & {{{{{{{if}X_{i}} > 0}\&}T_{i - 1}} - {X_{i}\tau}} \geq d} \\{0,} & {otherwise}\end{matrix} \right.$

-   -   -   (which evaluates to 1 only when in round i at least 1 packet            is transmitted and there is time to transmit a feedback),            then we can express d_(i)*=d*(T_(i−1),X_(i)), where

d*(T _(i−1) ,X _(i)):=d·1_({X) _(i) _(>0,T) _(i−1) _(-X) _(i) _(τ≥d}).

-   -   -   The number of transmitted packets X_(i) is determined by the            function value of the strategy g on the branch B_(Z) ₀            _(, . . . , Z) _(i−1) :

X _(i) =g(B _(Z) ₀ _(, . . . ,Z) _(i−1) ),

-   -   -   and it is constrained by the remaining time T_(i−1):

X _(i) τ<T _(i−1).

-   -   -   The remaining time evolves as

T ₀ =T,

T _(i) =T _(i−1) −X _(i) τ−d _(i)*.

-   -   -   Furthermore, we have some extra boundary conditions: apart            from Z₀=k we have X_(i+1)=0 if X_(i)=0, since if the            retransmission logic circuitry of a transmitter STA            determines not to transmit any packet in round i there is no            round i+1.

With these definitions and expressions, we can derive the followingrecursion

$\begin{matrix}{{{\sigma_{k,T}(g)} = {{x_{1}\tau} + {d^{*}\left( {T,x_{1}} \right)} + {\sum\limits_{z = 1}^{k}{\Pr{\left( {Z_{1} = z} \right) \cdot {\sigma_{z,t_{1}}\left( g_{k,z} \right)}}}}}},} & (2)\end{matrix}$

where

-   -   x₁=g(B_(z) ₀ ) with z₀=k, and g_(k,z) denotes the sub-strategy        g_(z) ₀ _(,z) ₁ with z₀=k and z₁=z.    -   The time t₁=T−x₁τ−d₁* is the remaining time after first round of        transmission.    -   As the packet losses are independent and identically distributed        random, Y₁ follows a binomial distribution and Z₁=(k−Y₁)⁺, we        have

${\Pr\left( {Z_{1} = z} \right)} = \left\{ {\begin{matrix}{{\begin{pmatrix}x_{1} \\{k - z}\end{pmatrix}{e_{r}^{x_{1} - k + z}\left( {1 - e_{r}} \right)}^{k - z}},} & {{{{{{if}z} \geq {k - x_{1}}}\&}1} \leq z \leq k} \\{0,} & {otherwise}\end{matrix}.} \right.$

-   -   To successfully implement the recursion (2), the retransmission        logic circuitry of the transmission STA may use more initial        conditions, which are described later.    -   2. The reliability performance metric can be defined in more        than one way, depending on the scenario and application.        -   a) First, we consider the decoding failure probability            η_(k,T)(g) for strategy g as the reliability metric, when            initially k packets are to be sent to the receiver (i.e.,            Z₀=k) and the time limit is T. Since decoding failure            happens for all cases of Z₁>0, we have the recursion

$\begin{matrix}{{{\eta_{k,T}(g)} = {\sum\limits_{z = 1}^{k}{{\Pr\left( {Z_{1} = z} \right)} \cdot {\eta_{z,t_{1}}\left( g_{k,z} \right)}}}},} & (3)\end{matrix}$

-   -   -    where the terms are similarly defined as in equation (2).        -   b) Next, we consider the packet loss probability {tilde over            (η)}_(k,T)(g) for the original set of k data packets when            systematic network codes are used. If a data packet itself            is lost in the transmission (with probability e_(r)), it can            still be recovered if the decoding of the whole network code            is successful. Hence, there are two chances of packet            recovery and the probability {tilde over (η)}_(k,T)(g) can            be calculated for the 1st data packet without loss of            generality:

$\begin{matrix}{{{{\overset{\sim}{\eta}}_{k,T}(g)} = {e_{r} \cdot {\sum\limits_{z = 1}^{k}{{\Pr\left( {Z_{1} = {z{❘{{packet}1{is}{lost}}}}} \right)} \cdot {\eta_{z,t_{1}}\left( g_{k,z} \right)}}}}},} & (4)\end{matrix}$

-   -   -   where η_(z,t) ₁ is defined in (3) and the probability term            in (4) can be calculated as

${\Pr\left( {Z_{1} = {z{❘{{packet}1{is}{lost}}}}} \right)} = \left\{ {\begin{matrix}{{\begin{pmatrix}{x_{1} - 1} \\{k - z}\end{pmatrix}{e_{r}^{x_{1} - 1 - k + z}\left( {1 - e_{r}} \right)}^{k - z}},} & {{{{{{if}z} \geq {k - x_{1} + 1}}\&}1} \leq z \leq k} \\{0,} & {otherwise}\end{matrix}.} \right.$

-   -   -   -   Here x₁ is defined similarly as in equation (2).

    -   3. Although the equations (2)-(4) only describe the recursions        for the first-round transmission, the expressions are similar        for the remaining rounds by the retransmission logic circuitry        of the transmitter STA which may replace k and T by z and t₁        respectively, and replace g by its sub-strategy g_(k,z) to        obtain a subsequent recursion with its own constraints and        conditions. Apart from the boundary conditions, more initial        conditions to run these recursions may be:        -   a) If x₁=g(B_(z) ₀ )=0 (for example, when T=0), then

σ_(k,T)(g)=0,η_(k,T)(g)=1, and {tilde over (η)}_(k,T)(g)=1

-   -   -   b) If x₁>0 but there is no time to transmit at least one            packet in the next round, i.e., d*(T,x₁)=0 or d*(T,x₁)=d but            t₁<τ, then

σ_(k,T)(g)=x ₁ τ+d*(T,x ₁),

η_(k,T)(g)=F(x ₁ ,k,e _(r)),

{tilde over (η)}_(k,T)(g)=e _(r) ·F(x ₁−1,k,e _(r)),

-   -   -    where F(x, k, e_(r)) is the decoding failure probability            when a total of x packets are transmitted:

${F\left( {x,k,e_{r}} \right)}:={\sum\limits_{i = 0}^{k - 1}{\begin{pmatrix}x \\i\end{pmatrix}\left( {1 - e_{r}} \right)^{i}{e_{r}^{x - i}.}}}$

Note that the recursions (2)-(4) are all positive linear functions ofthe performance metrics of the sub-strategies g_(k,z) (i.e., g_(z) ₀_(,z) ₁ with z₀=k and z₁=z), for 1≤z≤k. If one sub-strategy g_(k,z) isreplaced by a better sub-strategy g_(k,z)′ in both performance metricsσ_(z,t) ₁ and η_(z,t) ₁ , then the performance metrics of the fullstrategy g will also improve, by the linear positive property of therecursive expressions. Hence, if a sub-strategy is not Pareto-optimal(i.e., outperformed by another sub-strategy in both metrics), then thefull strategy cannot be Pareto-optimal either. By this reason theretransmission logic circuitry of the transmitter STA may perform Paretooptimization and prune the non-Pareto sub-strategies efficiently in eachrecursion when constructing the candidate set of potentially optimalschemes/strategies (see the algorithm below), without missing anyPareto-optimal strategies in the end result.

In many embodiments, the retransmission logic circuitry of thetransmitter STA may comprise one or more algorithms to compute optimalnetwork coding retransmission schemes such as a discrete case algorithmand a continuous case algorithm. For the discrete case algorithm, wefirst describe the optimization algorithms based on the recursions(2)-(4) to find the Pareto-optimal set, dividing into two cases. Then ifwe want to further reduce the complexity of these algorithms, weintroduce a quantization-based thinning process that prunes the set ofthe potentially optimal schemes in each iteration to achieve a flexibletrade-off between complexity and optimality. At the end of this section,we also provide an example for the 2-step optimization 2500 in FIG. 2F.

The retransmission logic circuitry of a STA may use the discrete casealgorithm when all time parameters are multiples of a common unit time.If all time parameters T, i and d in the problem are integer multiplesof a unit time Δ, then the Pareto optimization can be iterativelyperformed for the data size k′=1, 2, . . . , k and for time limit T′=Δ,2Δ, . . . , T.

For each pair of parameters (k′,T′) the algorithm constructs the set ofPareto-optimal schemes

(k′,T′) and records their performance metrics based on the outcome fromthe previous iterations as follows:

When T′=Δ, since there is no time for feedback and retransmission, eachpossible scheme only consists of a strategy g that decides how manypackets x₁ to transmit for the first round, subject to the time limitX₁τ<T₀=T′. This means that in graph 2400, the tree g only has one layerand there are no sub-strategies/subtrees. In this case, theretransmission logic circuitry of the transmitter STA forms the set ofall candidate strategies S(k′,T′) and finds the correspondingperformances. Then, the retransmission logic circuitry of thetransmitter STA may remove the non-Pareto-optimal schemes based on theirperformance metrics. Specifically, for a scheme g, if there existsanother scheme h such that either

σ_(k′,T′)(h)≤σ_(k′,T′)(g) and η_(k′,T′)(h)<η_(k′,T′)(g)

or

σ_(k′,T′)(h)<σ_(k′,T′)(g) and η_(k′,T′)(h)≤η_(k′,T′)(g),

then g is removed from S(k′,T′). The remaining schemes in S(k′,T′) afterthis process form the resulting Pareto optimal set

(k′,T′).

When T′>Δ, a strategy g may have sub-strategies as there might be timefor feedback and retransmissions after transmitting x₁ packets for thefirst round transmission. If that is the case, then for each positivevalue of z₁ (the number of packets still needed at the receiver STA fordecoding the original set of k packets after the first roundtransmission), a corresponding sub-strategy g_(k′,z) ₁ determines whatthe retransmission scheme does in the following rounds. Thus, aretransmission scheme comprises a first-round strategy and k′sub-strategies (since 1≤z₁≤k′), which are represented in graph 2400 inFIG. 2H by the branch B_(z) ₀ and the k′ subtrees g_(k′,1) 2540,g_(k′,l) 2545, . . . , g_(k′,k′) 2550, respectively.

As the sub-strategies g_(k′,z) ₁ all have a time limit T₁<T′ and datasize z₁≤k′, by the recursive nature of the algorithm, the correspondingPareto-optimal set

(z₁,T₁) has already been computed in the previous iterations. So we canconstruct the Pareto optimal set

(k′,T′) for the current iteration as follows:

-   -   a) For each possible x₁ that does not violate the time        constraint, the retransmission logic circuitry of the        transmitter STA may calculate the corresponding T₁. If there is        no time for retransmission, then the retransmission logic        circuitry of the transmitter STA may construct a scheme g by        setting its first round transmission to be x₁ packets.        Otherwise, for each combination of sub-strategies g_(k′,1)∈        (1, T₁), . . . , g_(k′,k′)∈        (k′,T₁), i.e., each element in the Cartesian product        (1,T₁)× . . . ×        (k′,T₁), the retransmission logic circuitry of the transmitter        STA may construct a scheme g by setting the first round        transmission to be x₁ packets and using g_(k′,1), . . . ,        g_(k′,k′) as the sub-strategies for its subsequent rounds of        transmissions (retransmissions).    -   b) The retransmission logic circuitry of the transmitter STA may        then construct the candidate set S(k′,T′) by including all        strategies g formed in the previous action and, for each of the        strategies g, compute the corresponding performances.    -   c) Next, as before, the retransmission logic circuitry of the        transmitter STA may remove the non-Pareto-optimal schemes from        S(k′,T′) based on the performance metrics. The remaining schemes        are then the Pareto optimal set        (k′,T′).

Note that to make the pruning more efficient, in a) the retransmissionlogic circuitry of the transmitter STA may recursively form theCartesian product

(1,T₁)× . . . ×

(k′,T₁) by including only one set at a time, and during each recursion,the retransmission logic circuitry of the transmitter STA may also prunethe intermediate results by removing the non-Pareto-optimal productschemes (based on the corresponding partial sums in equations (2)-(4)).

In the descriptions above, we only used the decoding failure probabilityη_(k′,T′) as the reliability measure. If systematic network codes areused and the packet loss probability {tilde over (η)}_(k′,T′) isconsidered as the reliability measure, then the retransmission logiccircuitry of the transmitter STA may still run the above iterations withthe performance metrics σ_(k′,T′) and η_(k′,T′) for all but the lastiteration (when k′=k and T′=T), due to the recursive formula (4). Forthe last iteration, the retransmission logic circuitry of thetransmitter STA may use σ_(k′,T′) and {tilde over (η)}_(k′,T′) to prunethe results.

FIG. 2I illustrates an embodiment of a graph 2600 of the implementationfor the continuous case algorithm. When all the time parameters are notinteger multiples of a common unit time Δ, or such a unit time can befound but it is too small compared to all T, τ and d, then running theiterations above for the time list T′=Δ, 2Δ, . . . , T is eitherimpossible or computationally inefficient. In this case, we may adaptthe discrete case algorithm to make it suitable for the continuous timeparameters (the continuous case algorithm).

We consider all durations of time that a scheme could possibly useduring the transmission process within the time limit T. The time usedis τ for each packet transmitted, and is d for the transmission of afeedback. Hence, if in the transmission process the total number ofpackets transmitted is n_(pkt) and the total number of feedback isn_(fb), then the respective durations of time incurred areT_(pkt)=n_(pkt)·τ and T_(fb)=n_(fb)·d, and the total time used isT_(pkt)+T_(fb). However, not all combinations of n_(pkt) and n_(fb) arepossible in the transmission process, as we have at least twoconstraints: i) the total time should not exceed the time limit T, andii) the number of feedback values should not exceed the number oftransmitted packets, as a feedback value should follow a transmission ofat least one packet. That is,

T _(pkt) +T _(fb) =n _(pkt) ·τ+n _(fb) ·d≤T,

n _(fb) ≤n _(pkt).

The valid combinations for n_(pkt) and n_(fb) are illustrated in graph2600, which are the positive grid points that lie on or below both thelines of n_(pkt)·τn_(fb)·d=T and n_(pkt)=n_(fb). Collecting the totaltime used (i.e., T_(pkt)+T_(fb)) for each of these combinations, theretransmission logic circuitry of the transmitter STA may arrive at alist of allowed time durations, L(T)={T₁ ^(L), T₂ ^(L), . . . , T_(N)_(L) ^(L)}, sorted in ascending order, whose total number of entries isdenoted by N_(L).

With the list of times L(T), the retransmission logic circuitry of thetransmitter STA may iteratively perform the Pareto optimizationsimilarly as the discrete case above, for data size k′=1, 2, . . . , kand for time limit T′=T₁ ^(L), T₂ ^(L), . . . , T_(N) _(L) ^(L), withone more adaptation: in b) the sub-strategies are selected from thePareto optimal sets

(1,T_(i) ^(L)), . . .

(k′,T_(i) ^(L)), where T_(i) ^(L) is the largest entry in the list L(T)that does not exceed T₁, the remaining time after the firsttransmission.

By reducing the sub-strategy time limit from T₁ to T_(i) ¹ we do notlose optimality, since we have not missed any valid schemes: in fact, ifa scheme complies with the time limit T₁, then it must also do so withthe time limit T_(i) ^(L). Otherwise, it can achieve a time duration twith T_(i) ^(L)<t≤T₁. Since L(T) includes all possible time durations,t∈L(T) and we have found a larger entry in L(T) than T_(i) ^(L) thatdoes not exceed T₁, which is a contradiction.

After all iterations are finished, the resulting Pareto optimal set

(k,T) is set to be the outcome

(k,T_(N) _(L) ^(L)) of the final iteration, for the same reason above.

In some embodiments, the retransmission logic circuitry of a STA mayalso perform Quantization-based thinning. Sometimes, if k and/or T arelarge, the size of the Pareto-optimal set

(k,T) still becomes too large to be computed efficiently (although it isalready significantly smaller than the total number of schemes). In thiscase, we can trade off optimality with computational complexity by theretransmission logic circuitry of the transmitter STA thinning thePareto-optimal set in each iteration. In other words, instead of thewhole optimal rate-reliability “curve” we may only obtain somerepresentative points on it. As long as the density of therepresentative points on the curve is still enough for practical use(for example, we may not be interested in obtaining two schemes with thesame reliability performance and with only 0.1% difference in thespectral efficiency performance), we can greatly improve the computationefficiency by reducing the set size.

The retransmission logic circuitry of the transmitter STA may achievesuch thinning by quantizing the performances of each scheme in eachiteration and removing the schemes with duplicated quantizedperformances. (Note that quantization may be used for thinning but mightnot be used for the performance calculation recursions.) Specifically,we can define the quantization precision δ₁ and δ₂ for the rate andreliability measures respectively, and quantize the correspondingperformance metrics based on them. For example, the retransmission logiccircuitry of the transmitter STA may quantize the normalized expectedtime σ_(k,T)/k using precision δ₁, or quantize its inverse (whichcorresponds to spectral efficiency). For the reliability measure, theretransmission logic circuitry of the transmitter STA may quantize thealgorithm of η_(k,T) or {tilde over (η)}_(k,T). After thinning, Paretooptimization can also be performed to further reduce the set size, usingthe quantized performances.

In an example scenario for two step optimization, we require minimalusage of radio resources (i.e., maximizing spectral efficiency) toachieve a given level of reliability. The retransmission logic circuitryof the STA may first find the optimal rate-reliability “curve”, i.e.,the Pareto optimal set

(k,T) using the procedure above. Then the retransmission logic circuitryof the STA may select all schemes in

(k,T) whose reliability performance satisfies the given requirement.Among these schemes, the retransmission logic circuitry of the STA mayuse any suitable algorithm such as sorting and/or searching algorithmsto find the one with the shortest expected time σ_(k,T), which achievesthe minimal radio resource usage.

FIGS. 2J and 2K illustrate embodiments of numerical results for thediscrete case algorithm and a practical Wi-Fi configuration thatrequires the continuous case algorithm. FIG. 2J illustrates anembodiment of a graph 2700 for rate-reliability performances for adiscrete case algorithm example. For a simple discrete scenario, wecompare the reliability and spectral efficiency performances ofdifferent schemes/algorithms. In this scenario the number of datapackets to be delivered is k=4, time limit is T=14 slots, while thetransmission of a packet and that of a feedback both take 1 slot (i.e.,τ=d=1). The erasure probability of each packet transmission ise_(r)=0.1. We plot the performances of the currently used selectiveretransmission scheme (SelReTx), the optimal network codingretransmission scheme (NC OptReTx) when there is no time limit, and twoheuristic network coding retransmission schemes: transmitting the exactnumber of missing packets (NC AdpReTx0), and over-provisioning toaccount for the packet loss rate e_(r) (NC AdpReTxExpRound), i.e.,transmitting

${round}\left( \frac{z}{1 - e_{r}} \right)$

if packets are reported to be missing at the receiver. In addition, weplot (in circles) all Pareto-optimal network coding retransmissionschemes obtained using the discrete case algorithm. We can see thatusing our Pareto optimization algorithm we can discover many previouslyunknown schemes that achieve much better reliability performance (e.g.,<10⁻⁷ instead of ˜10⁻⁵) with only slightly lower spectral efficiency(<0.5%), compared to the known schemes.

FIG. 2K illustrates an embodiment of a graph 2700 for rate-reliabilityperformances for a practical WiFi configuration for a continuous casealgorithm example. For this embodiment, the packet loss rate e_(r)=0.1,the packet size is 200 bytes, and the data rate (PHY rate) fortransmitting the packets is 24 Mbps. The time constraint for thetransmission process of the retransmission scheme is one TXOP(transmission opportunity), which has a duration of T=1 ms. The BlockAckfor selective retransmission uses 8 octets for the bitmap, while the newnetwork coding BlockAck only uses 1 octet for reporting the number ofmissing packets to enable decoding. In this embodiment, the continuousadaptation of the discrete case algorithm is used for the Paretooptimization since the time parameters are continuous.Quantization-based thinning is also performed here to reduce computationcomplexity.

In graph 2700, the reliability and spectral efficiency performances ofthe selective retransmission scheme and the Pareto optimal networkcoding retransmission schemes are plotted for different values of k,where we perform another round of Pareto optimization for the union ofall Pareto optimal sets

(k,T) to obtain the overall Pareto optimal schemes (regardless of thevalue of k). We can see that we can discover many good network codingretransmission schemes using the continuous case algorithm, whichoutperforms the existing selective retransmission scheme by a largemargin (for example, with even higher spectral efficiency thereliability is improved from ˜10⁻⁷ to ˜10⁻¹²).

FIG. 3 depicts an embodiment of an apparatus to generate, transmit,receive, and interpret or decode PHY frames and MAC frames. Theapparatus comprises a transceiver 3000 coupled with baseband processingcircuitry 3001. The baseband processing circuitry 3001 may comprise aMAC logic circuitry 3091 and PHY logic circuitry 3092. Retransmissionlogic circuitry 3093 may reside in the MAC logic circuitry 3091 or inboth the MAC logic circuitry 3091 and the PHY logic circuitry 3092. Inother embodiments, the baseband processing circuitry 3001 may beincluded on the transceiver 3000.

The MAC logic circuitry 3091 and PHY logic circuitry 3092 may comprisecode executing on processing circuitry of a baseband processingcircuitry 3001; circuitry to implement operations of functionality ofthe MAC or PHY; or a combination of both. In the present embodiment, theMAC logic circuitry 3091 and PHY logic circuitry 3092 may compriseretransmission logic circuitry 3093 to implement a retransmissionscheme. For example, the retransmission logic circuitry of an AP MLD anda non-AP MLD may implement network coding to encode and decode networkcoded packets in one or more round of transmission and retransmission tocommunicate an original set of k packets between the AP MLD and thenon-AP MLD.

The MAC logic circuitry 3091 may determine a frame such as a MACmanagement frame and the PHY logic circuitry 3092 may determine thephysical layer protocol data unit (PPDU) by prepending the frame, alsocalled a MAC protocol data unit (MPDU), with a physical layer (PHY)preamble for transmission of the MAC management frame via the antennaarray 3018. The PHY logic circuitry 3092 may cause transmission of theMAC management frame in the PPDU.

The transceiver 3000 comprises a receiver 3004 and a transmitter 3006.Embodiments have many different combinations of modules to process databecause the configurations are deployment specific. FIG. 3 illustratessome of the modules that are common to many embodiments. In someembodiments, one or more of the modules may be implemented in circuitryseparate from the baseband processing circuitry 3001. In someembodiments, the baseband processing circuitry 3001 may execute code inprocessing circuitry of the baseband processing circuitry 3001 toimplement one or more of the modules.

In the present embodiment, the transceiver 3000 also includes WURcircuitry 3110 and 3120. The WUR circuitry 3110 may comprise circuitryto use portions of the transmitter 3006 (a transmitter of the wirelesscommunications I/F such as wireless communications I/Fs 1216 and 1246 ofFIG. 1C) to generate a WUR packet. For instance, the WUR circuitry 3110may generate, e.g., an OOK signal with OFDM symbols to generate a WURpacket for transmission via the antenna array 3018. In otherembodiments, the WUR may comprise an independent circuitry that does notuse portions of the transmitter 3006.

Note that a MLD such as the AP MLD 1210 in FIG. 1C may comprise multipletransmitters to facilitate concurrent transmissions on multiplecontiguous and/or non-contiguous carrier frequencies.

The transmitter 3006 may comprise one or more of or all the modulesincluding an encoder 3008, a stream deparser 3066, a frequency segmentparser 3007, an interleaver 3009, a modulator 3010, a frequency segmentdeparser 3060, an OFDM 3012, an Inverse Fast Fourier Transform (IFFT)module 3015, a GI module 3045, and a transmitter front end 3040. Theencoder 3008 of transmitter 3006 receives and encodes a data streamdestined for transmission from the MAC logic circuitry 3091 with, e.g.,a binary convolutional coding (BCC), a low-density parity check coding(LDPC), and/or the like. After coding, scrambling, puncturing andpost-FEC (forward error correction) padding, a stream parser 3064 mayoptionally divide the data bit streams at the output of the FEC encoderinto groups of bits. The frequency segment parser 3007 may receive datastream from encoder 3008 or streams from the stream parser 3064 andoptionally parse each data stream into two or more frequency segments tobuild a contiguous or non-contiguous bandwidth based upon smallerbandwidth frequency segments. The interleaver 3009 may interleave rowsand columns of bits to prevent long sequences of adjacent noisy bitsfrom entering a BCC decoder of a receiver.

The modulator 3010 may receive the data stream from interleaver 3009 andmay impress the received data blocks onto a sinusoid of a selectedfrequency for each stream via, e.g., mapping the data blocks into acorresponding set of discrete amplitudes of the sinusoid, or a set ofdiscrete phases of the sinusoid, or a set of discrete frequency shiftsrelative to the frequency of the sinusoid. In some embodiments, theoutput of modulator 3010 may optionally be fed into the frequencysegment deparser 3060 to combine frequency segments in a single,contiguous frequency bandwidth of, e.g., 320 MHz. Other embodiments maycontinue to process the frequency segments as separate data streams for,e.g., a non-contiguous 160+160 MHz bandwidth transmission.

After the modulator 3010, the data stream(s) are fed to an OFDM 3012.The OFDM 3012 may comprise a space-time block coding (STBC) module 3011,and a digital beamforming (DBF) module 3014. The STBC module 3011 mayreceive constellation points from the modulator 3010 corresponding toone or more spatial streams and may spread the spatial streams to agreater number of space-time streams. Further embodiments may omit theSTBC.

The OFDM 3012 impresses or maps the modulated data formed as OFDMsymbols onto a plurality of orthogonal subcarriers, so the OFDM symbolsare encoded with the subcarriers or tones. The OFDM symbols may be fedto the DBF module 3014. Generally, digital beam forming uses digitalsignal processing algorithms that operate on the signals received by,and transmitted from, an array of antenna elements. Transmit beamformingprocesses the channel state to compute a steering matrix that is appliedto the transmitted signal to optimize reception at one or morereceivers. This is achieved by combining elements in a phased antennaarray in such a way that signals at particular angles experienceconstructive interference while others experience destructiveinterference.

The IFFT module 3015 may perform an inverse discrete Fourier transform(IDFT) on the OFDM symbols to map on the subcarriers. The guard interval(GI) module 3045 may insert guard intervals by prepending to the symbola circular extension of itself. The GI module 3045 may also comprisewindowing to optionally smooth the edges of each symbol to increasespectral decay.

The output of the GI module 3045 may enter the radio 3042 to convert thetime domain signals into radio signals by combining the time domainsignals with subcarrier frequencies to output into the transmitter frontend module (TX FEM) 3040. The transmitter front end 3040 may comprise awith a power amplifier (PA) 3044 to amplify the signal and prepare thesignal for transmission via the antenna array 3018. In many embodiments,entrance into a spatial reuse mode by a communications device such as aSTA may reduce the amplification by the PA 3044 to reduce channelinterference caused by transmissions.

The transceiver 3000 may also comprise duplexers 3016 connected toantenna array 3018. The antenna array 3018 radiates the informationbearing signals into a time-varying, spatial distribution ofelectromagnetic energy that can be received by an antenna of a receiver.In several embodiments, the receiver 3004 and the transmitter 3006 mayeach comprise its own antenna(s) or antenna array(s).

The transceiver 3000 may comprise a receiver 3004 for receiving,demodulating, and decoding information bearing communication signals.The receiver 3004 may comprise a receiver front-end module (RX FEM) 3050to detect the signal, detect the start of the packet, remove the carrierfrequency, and amplify the subcarriers via a low noise amplifier (LNA)3054 to output to the radio 3052. The radio 3052 may convert the radiosignals into time domain signals to output to the GI module 3055 byremoving the subcarrier frequencies from each tone of the radio signals.

The receiver 3004 may comprise a GI module 3055 and a fast Fouriertransform (FFT) module 3019. The GI module 3055 may remove the guardintervals and the windowing and the FFT module 3019 may transform thecommunication signals from the time domain to the frequency domain.

The receiver 3004 may also comprise an OFDM 3022, a frequency segmentparser 3062, a demodulator 3024, a deinterleaver 3025, a frequencysegment deparser 3027, a stream deparser 3066, and a decoder 3026. Anequalizer may output the weighted data signals for the OFDM packet tothe OFDM 3022. The OFDM 3022 extracts signal information as OFDM symbolsfrom the plurality of subcarriers onto which information-bearingcommunication signals are modulated.

The OFDM 3022 may comprise a DBF module 3020, and an STBC module 3021.The received signals are fed from the equalizer to the DBF module 3020.The DBF module 3020 may comprise algorithms to process the receivedsignals as a directional transmission directed toward to the receiver3004. And the STBC module 3021 may transform the data streams from thespace-time streams to spatial streams.

The output of the STBC module 3021 may enter a frequency segment parser3062 if the communication signal is received as a single, contiguousbandwidth signal to parse the signal into, e.g., two or more frequencysegments for demodulation and deinterleaving.

The demodulator 3024 demodulates the spatial streams. Demodulation isthe process of extracting data from the spatial streams to producedemodulated spatial streams. The deinterleaver 3025 may deinterleave thesequence of bits of information. The frequency segment deparser 3027 mayoptionally deparse frequency segments as received if received asseparate frequency segment signals or may deparse the frequency segmentsdetermined by the optional frequency segment parser 3062. The decoder3026 decodes the data from the demodulator 3024 and transmits thedecoded information, the MPDU, to the MAC logic circuitry 3091.

The MAC logic circuitry 3091 may parse the MPDU based upon a formatdefined in the communications device for a frame to determine theparticular type of frame by determining the type value and the subtypevalue. The MAC logic circuitry 3091 may then interpret the remainder ofMPDU.

While the description of FIG. 3 focuses primarily on a single spatialstream system for simplicity, many embodiments are capable of multiplespatial stream transmissions and use parallel data processing paths formultiple spatial streams from the PHY logic circuitry 3092 through totransmission. Further embodiments may include the use of multipleencoders to afford implementation flexibility.

FIG. 4A depicts an embodiment of a flowchart of a process 4000 toimplement retransmission logic circuitry such as the retransmissionlogic circuitry discussed in FIGS. 1-3 . At element 4010, retransmissionlogic circuitry of an AP MLD (e.g., the retransmission logic circuitry1220 of the AP MLD 1210) may receive or otherwise identify a set of kdata packets to transmit to a non-AP MLD (e.g., the retransmission logiccircuitry 1250 of the AP MLD 1230). Note that prior to the firsttransmission, the non-AP MLD still needs to receive z₀=k network codedpackets.

The retransmission logic circuitry of the AP MLD may identify aretransmission scheme generated based on a time constraint, theretransmission scheme to determine a first number of packets (x₁) totransmit based on the first set of k packets (element 4015). In otherwords, the retransmission scheme may have a retransmission strategy gthat identifies a first number (x₁) of network coded packets to transmitto the non-AP MLD. Note that the retransmission strategy g is based onthe requirement to transmit z0 (which equals k) packets to the non-APMLD.

The retransmission logic circuitry of the AP MLD may encode the originalset of k data packets with a network code, a linear packet-level codinghaving a maximum distance separable (MDS) property, to generate one ormore network coded packets of a pool of network coded packets fortransmission in an A-MPDU (element 4020). The one or more network codedpackets may comprise encoded combinations of the original set of kpackets. In some embodiments, the network coding process is systematic,concatenating the original set of k packets with network coded packets.

During or after generation of the first number (x₁) of network codedpackets, the retransmission logic circuitry of the AP MLD may generatethe A-MPDU for transmission to the second STA with the first number (x₁)of network coded packets (element 4025). The first number (x₁) ofnetwork coded packets may comprise at least one of the one or morenetwork coded packets from the pool of network coded packets. Note alsothat x₁ may be greater than z₀, less than z₀, or equal to z₀ inaccordance with the retransmission scheme.

During or after generation of the A-MPDU, the retransmission logiccircuitry of the AP MLD may pass the A-MPDU (or portions thereof) to thePHY to cause transmission of the A-MPDU to the non-AP MLD (element4030). If sufficient time remains (element 4035) in accordance with thetime constraint (T) after transmission of the A-MPDU to the non-AP MLD,the AP MLD may receive a feedback value from the non-AP MLD in aBlockAck (element 4040). Otherwise, the retransmission scheme for theoriginal set of k data packets may end.

Note that the AP MLD may determine from the feedback value, the numberof packets received by the non-AP MLD so z₁=k minus the number ofnetwork coded packets received by non-AP MLD. The retransmission logiccircuitry of the AP MLD may select a substrategy of g based on z₁ todetermine a second number (x₂) of packets to transmit to the non-AP MLDin the first retransmission.

If sufficient time remains (element 4045) in accordance with the timeconstraint (T) after transmission of the BlockAck to the non-AP MLD, theAP MLD may generate the second number (x₂) of network coded packets ofthe pool of network coded packets (element 4020), generate a secondA-MPDU with the second number (x₂) of network coded packets (element4025), and cause transmission of the second A-MPDU to the non-AP MLD(element 4030). This recursive process from element 4020 through element4045 may repeat until there is insufficient time to transmit an A-MPDUor a feedback value in a BlockAck, the feedback value indicates that thenon-AP MLD received at least k packets, or the retransmission scheme forthe original set of k data packets otherwise determines to terminate orend.

Note that during recursion, the retransmission logic circuitry of the APMLD may determine the values z₂, z₃, z₄, . . . based on the respectivefeedback values from the non-AP MLD. The retransmission logic circuitryof the AP MLD may select each of the substrategies of the retransmissionscheme based on the respective values z₂, z₃, z₄, . . . and each of thesubstrategies may define the respective numbers x₃, x₄, x₅, . . . ofnetwork coded packets to transmit during the respective retransmissions.

FIG. 4B depicts another embodiment of a flowchart of a process 4100 toimplement retransmission logic circuitry such as the retransmissionlogic circuitry discussed in FIGS. 1-3 . At element 4110, retransmissionlogic circuitry of an AP MLD (e.g., the retransmission logic circuitry1220 of the AP MLD 1210 shown FIG. 1C) may select a process by which tocompute the retransmission scheme (element 4115). The process maycomprise a discrete process (such as the discrete case algorithmdiscussed in conjunction with FIGS. 2A-2K) or a continuous process (suchas the continuous case algorithm discussed in conjunction with FIGS.2A-2K). In many embodiments, the retransmission logic circuitry of an APMLD may select the discrete process if a transmission time for one ofthe one or more network coded packets and a sum (d) of a feedback timeand a gap time are multiples of a common unit time.

After selecting the process by which to compute the retransmissionscheme, the retransmission logic circuitry of the AP MLD may determine aset of potentially optimal schemes, P(k′,T), based on a time constraint(T), a packet loss rate (e_(r)), a feedback time, and a gap time(element 4120).

After determining the set of potentially optimal schemes, P(k′,T), theAP MLD may identify the retransmission scheme from the set ofpotentially optimal schemes (element 4125) by, identifying theretransmission scheme with e.g., the shortest expected time usage.

Thereafter, the retransmission logic of the AP MLD may implement aprocess 4000 such as the flowchart shown in FIG. 4A to communicatepackets of a data stream to a non-AP MLD. Note that while thisembodiment and other embodiments discuss an AP MLD or an AP STAperforming the processes 4000 and 4100 in the flowcharts shown in FIGS.4A and 4B, a non-AP MLD, non-AP STA, or any other wireless device mayperform the processes 4000 and/or 4100 described in the flowcharts shownin FIGS. 4A and 4B.

FIG. 4C depicts another embodiment of a flowchart of a process 4200 toimplement retransmission logic circuitry such as the retransmissionlogic circuitry discussed in FIGS. 1-3 and 4A-4B. At element 4210,retransmission logic circuitry of a second STA (e.g., the retransmissionlogic circuitry 1250 of MLD STA 1230 shown FIG. 1C) may receive a firstnumber of packets from a first STA (e.g., the retransmission logiccircuitry 1220 of AP MLD 1210 shown FIG. 1C) in an aggregated mediumaccess control (MAC) protocol data unit (A-MPDU). The first number ofpackets may comprise network coded packets for a retransmission scheme(element 4210) for transmission from the first STA of an original set ofk packets.

At 4215, the retransmission logic circuitry of the second STA may decodethe first number of packets in accordance with a network coding schemeassociated with the retransmission scheme, to determine one or morepackets of the original set of k packets. If sufficient time remains ina time constraint (T) for the retransmission scheme (element 4220), theretransmission logic circuitry of the second STA may determine afeedback value (e.g., k-k′) to send to the first STA. The feedback valuemay be a number of additional network coded packets to decode theoriginal set of k packets or a number of network coded packets receivedby the second STA.

After or during the determination of the feedback value, theretransmission logic circuitry of the second STA may generate the blockacknowledgement (BlockAck) comprising the feedback value (element 4230)and cause transmission of the BlockAck to the first STA (element 4235).If sufficient time remains in the time constraint (T) and the feedbackvalue does not indicate that the second STA received enough networkcoded packets to decode the entire original set of k packets, the secondSTA may receive a first retransmission with a second number of networkcoded packets (element 4210) and decode the second number of packets(element 4215). If sufficient time remains in a time constraint (T) forthe retransmission scheme (element 4220), the retransmission logiccircuitry of the second STA may determine a feedback value to send tothe first STA, generate a BlockAck with the feedback value (element4230), and cause transmission of the BlockAck to the first STA (element4235). This recursive process may continue from element 4210 throughelement 4240 until the second STA receives a sufficient number ofnetwork coded packets to decode the entire set of original k packets,until the second STA responds with a feedback value that indicates thesecond STA received a sufficient number of network coded packets todecode the entire set of original k packets, until there is insufficienttime within the time constraint (T) to send the BlockAck, until there isinsufficient time within the time constraint (T) for the second STA toreceive another retransmission of network coded packets, or until thefirst STA determines to terminate the retransmission scheme for theoriginal set of k packets.

FIGS. 4D-E depict embodiments of flowcharts 4300 and 4300 to transmit,receive, and interpret communications with a frame. Referring to FIG.4D, the flowchart 4300 may begin with transmitting a MAC A-MPDU framefrom the wireless communications I/F 1216 of the AP STA 1210 to thewireless communications I/Fs (such as wireless communications I/F 1246of the STA 1230, STA 1290, STA 1292, and STA 1296 as shown in FIG. 1C.The MAC logic circuitry, such as the MAC logic circuitry 3091 in FIG.1C, of each STA of STA 1230, STA 1290, STA 1292, and STA 1296 mayoperate in conjunction with retransmission logic circuitry 3093 togenerate a MAC BlockAck frame to transmit to the AP STA 1210 in responseto the A-MPDU to indicate a number of packets received or a number ofpackets needed to decode a full set of packets and may pass the frame asan MAC protocol data unit (MPDU) to a PHY logic circuitry such as thePHY logic circuitry 3092 in FIG. 1C as a PSDU to include in a PHY frame.The PHY logic circuitry may also encode and transform the PSDU into OFDMsymbols for transmission to the AP STA 1210. The PHY logic circuitry maygenerate a preamble to prepend the PHY service data unit (PSDU) (theMPDU) to form a PHY protocol data unit (PPDU) for transmission (element4310).

A physical layer device such as the transmitter 3006 in FIG. 3 or thewireless network interfaces 1222 and 1252 in FIG. 1A may convert thePPDU to a communication signal via RF circuitry of a radio (element4315). The transmitter may then transmit the communication signal via afront-end module to pre-condition and amplify the communication signalfor transmission via the antenna (element 4320).

Referring to FIG. 4E, the flowchart 4400 begins with a receiver of adevice such as the receiver 3004 in FIG. 3 receiving a communicationsignal via one or more antenna(s) such as an antenna element of antennaarray 3018 (element 4410). The receiver may convert the communicationsignal into an MPDU in accordance with the process described in thepreamble (element 4415). More specifically, the received signal is fedfrom the one or more antennas to a DBF such as the DBF 220. The DBFtransforms the antenna signals into information signals. The output ofthe DBF is fed to OFDM such as the OFDM 3022 in FIG. 3 . The OFDMextracts signal information from the plurality of subcarriers onto whichinformation-bearing signals are modulated. Then, the demodulator such asthe demodulator 3024 demodulates the signal information via, e.g., BPSK,16-QAM (quadrature amplitude modulation), 64-QAM, 256-QAM, 1024-QAM, or4096-QAM with a forward error correction (FEC) coding rate (1/2, 2/3,3/4, or And the decoder such as the decoder 3026 decodes the signalinformation from the demodulator via, e.g., BCC or LDPC, to extract theMPDU and pass or communicate the MPDU to MAC layer logic circuitry suchas MAC logic circuitry 3091 (element 4420).

When received at the MAC logic circuitry, the MPDU may be a MAC ServiceData Unit (MSDU). The MAC logic circuitry in conjunction withretransmission logic circuitry may determine frame field values from theMSDU (MPDU from PHY) (element 4425) such as the feedback value in theBlockAck frame shown in FIG. 2B. The MAC logic circuitry may determineframe field values such as the type and subtype field values todetermine that the MAC frame is the BlockAck frame and, morespecifically, a BlockAck frame with a feedback value that is the numberof packets received by or the number of packets still needed by a STA todecode a full set of packets encoded in the packets received.

FIG. 5 shows a functional diagram of an exemplary communication station500, in accordance with one or more example embodiments of the presentdisclosure. In one embodiment, FIG. 5 illustrates a functional blockdiagram of a communication station that may be suitable for use as an APSTA 1005 (FIG. 1A) or a user device 1024 (FIG. 1A) in accordance withsome embodiments. The communication station 500 may also be suitable foruse as other user device(s) 1020 such as the user devices 1025 and/or1026. The user devices 1024 and 1025 may include, e.g., a handhelddevice, a mobile device, a cellular telephone, a smartphone, a tablet, anetbook, a wireless terminal, a laptop computer, a wearable computerdevice, a femtocell, a high data rate (HDR) subscriber station, anaccess point, an access terminal, or other personal communication system(PCS) device.

The communication station 500 may include communications circuitry 502and a transceiver 510 for transmitting and receiving signals to and fromother communication stations using one or more antennas 501. Thecommunications circuitry 502 may include circuitry that can operate thephysical layer (PHY) communications and/or medium access control (MAC)communications for controlling access to the wireless medium, and/or anyother communications layers for transmitting and receiving signals. Thecommunication station 500 may also include processing circuitry 506 andmemory 508 arranged to perform the operations described herein. In someembodiments, the communications circuitry 502 and the processingcircuitry 506 may be configured to perform operations detailed in theabove figures, diagrams, and flows.

In accordance with some embodiments, the communications circuitry 502may be arranged to contend for a wireless medium and configure frames orpackets for communicating over the wireless medium. The communicationscircuitry 502 may be arranged to transmit and receive signals. Thecommunications circuitry 502 may also include circuitry formodulation/demodulation, upconversion/downconversion, filtering,amplification, etc. In some embodiments, the processing circuitry 506 ofthe communication station 500 may include one or more processors. Inother embodiments, two or more antennas 501 may be coupled to thecommunications circuitry 502 arranged for sending and receiving signals.The memory 508 may store information for configuring the processingcircuitry 506 to perform operations for configuring and transmitting MACand PHY message frames and performing the various operations describedherein. The memory 508 may include any type of memory, includingnon-transitory memory, for storing information in a form readable by amachine (e.g., a computer). For example, the memory 508 may include acomputer-readable storage device, read-only memory (ROM), random-accessmemory (RAM), magnetic disk storage media, optical storage media,flash-memory devices and other storage devices and media.

In some embodiments, the communication station 500 may be part of aportable wireless communication device, such as a personal digitalassistant (PDA), a laptop or portable computer with wirelesscommunication capability, a web tablet, a wireless telephone, asmartphone, a wireless headset, a pager, an instant messaging device, adigital camera, an access point, a television, a medical device (e.g., aheart rate monitor, a blood pressure monitor, etc.), a wearable computerdevice, or another device that may receive and/or transmit informationwirelessly.

In some embodiments, the communication station 500 may include one ormore antennas 501. The antennas 501 may include one or more directionalor omnidirectional antennas, including, for example, dipole antennas,monopole antennas, patch antennas, loop antennas, microstrip antennas,or other types of antennas suitable for transmission of RF signals. Insome embodiments, instead of two or more antennas, a single antenna withmultiple apertures may be used. In these embodiments, each aperture maybe considered a separate antenna. In some multiple-input multiple-output(MIMO) embodiments, the antennas may be effectively separated forspatial diversity and the different channel characteristics that mayresult between each of the antennas and the antennas of a transmittingstation.

In some embodiments, the communication station 500 may include one ormore of a keyboard, a display, a non-volatile memory port, multipleantennas, a graphics processor, an application processor, speakers, andother mobile device elements. The display may be an LCD screen includinga touch screen.

Although the communication station 500 is illustrated as having severalseparate functional elements, two or more of the functional elements maybe combined and may be implemented by combinations ofsoftware-configured elements, such as processing elements includingdigital signal processors (DSPs), and/or other hardware elements. Forexample, some elements may include one or more microprocessors, DSPs,field-programmable gate arrays (FPGAs), application specific integratedcircuits (ASICs), radio-frequency integrated circuits (RFICs) andcombinations of various hardware and logic circuitry for performing atleast the functions described herein. In some embodiments, thefunctional elements of the communication station 500 may refer to one ormore processes operating on one or more processing elements.

Certain embodiments may be implemented in one or a combination ofhardware, firmware, and software. Other embodiments may also beimplemented as instructions stored on a computer-readable storagedevice, which may be read and executed by at least one processor toperform the operations described herein. A computer-readable storagedevice may include any non-transitory memory mechanism for storinginformation in a form readable by a machine (e.g., a computer). Forexample, a computer-readable storage device may include read-only memory(ROM), random-access memory (RAM), magnetic disk storage media, opticalstorage media, flash-memory devices, and other storage devices andmedia. In some embodiments, the communication station 500 may includeone or more processors and may be configured with instructions stored ona computer-readable storage device.

FIG. 6 illustrates a block diagram of an example of a machine 600 orsystem upon which any one or more of the techniques (e.g.,methodologies) discussed herein may be performed. For instance, themachine may comprise any STAs discussed in conjunction with FIGS. 1-5 .In other embodiments, the machine 600 may operate as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine 600 may operate in the capacity of a servermachine, a client machine, or both in server-client networkenvironments. In an example, the machine 600 may act as a non-AP STA oran AP STA in network environments. The machine 600 may be a personalcomputer (PC), a tablet PC, a set-top box (STB), a personal digitalassistant (PDA), a mobile telephone, a wearable computer device, a webappliance, a network router, a switch or bridge, or any machine capableof executing instructions (sequential or otherwise) that specify actionsto be taken by that machine, such as link management. Further, whileonly a single machine is illustrated, the term “machine” shall also betaken to include any collection of machines that individually or jointlyexecute a set (or multiple sets) of instructions to perform any one ormore of the methodologies discussed herein, such as cloud computing,software as a service (SaaS), or other computer cluster configurations.

Examples, as described herein, may include or may operate on logic or anumber of components, modules, or mechanisms. Modules are tangibleentities (e.g., hardware) capable of performing specified operationswhen operating. A module includes hardware. In an example, the hardwaremay be specifically configured to carry out a specific operation (e.g.,hardwired). In another example, the hardware may include configurableexecution units (e.g., transistors, circuits, etc.) and acomputer-readable medium containing instructions where the instructionsconfigure the execution units to carry out a specific operation when inoperation. The configuring may occur under the direction of theexecution units or a loading mechanism. Accordingly, the execution unitsare communicatively coupled to the computer-readable medium when thedevice is operating. In this example, the execution units may be amember of more than one module. For example, under operation, theexecution units may be configured by a first set of instructions toimplement a first module at one point in time and reconfigured by asecond set of instructions to implement a second module at a secondpoint in time.

The machine (e.g., computer system) 600 may include a hardware processor602 (e.g., a central processing unit (CPU), a graphics processing unit(GPU), a hardware processor core, or any combination thereof), a mainmemory 604 and a static memory 606, some of or all which may communicatewith each other via one or more interlinks (e.g., buses or high-speedinterconnects) 608. Note that the single set of interlinks 608 may berepresentative of the physical interlinks in some embodiments but is notrepresentative of the physical interlinks 608 in other embodiments. Forexample, the main memory 604 may couple directly with the hardwareprocessor 602 via high-speed interconnects or a main memory bus. Thehigh-speed interconnects typically connect two devices, and the bus isgenerally designed to interconnect two or more devices and include anarbitration scheme to provide fair access to the bus by the two or moredevices. A main bus may, for example, interconnect one or moreprocessors such as the hardware processor 602 with a main memory such asthe main memory 604 and with a hub or controller (not shown). The hub orcontroller may interconnect the main bus with other devices shown suchas a graphics display device 610, sensors 628, a power management device632, and/or the like.

The machine 600 may further include the power management device 632, thegraphics display device 610, an alphanumeric input device 612 (e.g., akeyboard), and a user interface (UI) navigation device 614 (e.g., amouse). In an example, the graphics display device 610, alphanumericinput device 612, and UI navigation device 614 may be a touch screendisplay. The machine 600 may additionally include a storage device(i.e., drive unit) 616, a signal generation device 618 (e.g., aspeaker), a retransmission logic circuitry 619, a network interfacedevice/transceiver 620 coupled to antenna(s) 630, and one or moresensors 628, such as a global positioning system (GPS) sensor, acompass, an accelerometer, or other sensor. The machine 600 may includean output controller 634, such as a serial (e.g., universal serial bus(USB), parallel, or other wired or wireless (e.g., infrared (IR), nearfield communication (NFC), etc.) connection to communicate with orcontrol one or more peripheral devices (e.g., a printer, a card reader,etc.)).

The operations in accordance with one or more example embodiments of thepresent disclosure may be carried out by a baseband processor such asthe baseband processing circuitry 1218 and/or 1248 shown in FIG. 1C. Thebaseband processor may be configured to generate corresponding basebandsignals. The baseband processor may further include physical layer (PHY)and medium access control (MAC) layer circuitry and may furtherinterface with the hardware processor 602 for generation and processingof the baseband signals and for controlling operations of the mainmemory 604, the storage device 616, and/or the retransmission logiccircuitry 619. The baseband processor may be provided on a single radiocard, a single chip, or an integrated circuit (IC).

The storage device 616 may include a machine readable medium 622 onwhich is stored one or more sets of data structures or instructions 624(e.g., software) embodying or utilized by any one or more of thetechniques or functions described herein. The instructions 624 may alsoreside, completely or at least partially, within the main memory 604,within the static memory 606, within the baseband processor, or withinthe hardware processor 602 during execution thereof by the machine 600.In an example, one or any combination of the hardware processor 602, thebaseband processor, the main memory 604, the static memory 606, or thestorage device 616 may constitute machine-readable media.

The retransmission logic circuitry 619 may reside in themachine-readable media and may carry out or perform any of theoperations and processes in relation to retransmission schemes or thelike (e.g., flowchart 4000 shown in FIG. 4A and flowchart 4100 shown inFIG. 4B) described and shown herein. It is understood that the above areonly a subset of what the retransmission logic circuitry 619 may beconfigured to perform and that other functions included throughout thisdisclosure may also be performed by the retransmission logic circuitry619.

While the machine-readable medium 622 is illustrated as a single medium,the term “machine-readable medium” may include a single medium ormultiple media (e.g., a centralized or distributed database, acentralized or distributed memory, and/or associated caches, registers,buffers, and servers) configured to store the one or more instructions624.

Various embodiments may be implemented fully or partially in softwareand/or firmware. This software and/or firmware may take the form ofinstructions or code contained in or on a non-transitorycomputer-readable storage medium. Those instructions may then be readand executed by one or more processors to enable performance of theoperations described herein. The instructions may be in any suitableform, such as but not limited to source code, compiled code, interpretedcode, executable code, static code, dynamic code, and the like. Such acomputer-readable medium may include any tangible non-transitory mediumfor storing information in a form readable by one or more computers,such as but not limited to read only memory (ROM); random access memory(RAM); magnetic disk storage media; optical storage media; a flashmemory, etc.

The term “machine-readable medium” may include any medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine 600 and that cause the machine 600 to perform any one ormore of the functions discussed in the present disclosure, or that iscapable of storing, encoding, or carrying data structures used by orassociated with such instructions. Non-limiting machine-readable mediumexamples may include solid-state memories and optical and magneticmedia. In an example, a massed machine-readable medium includes amachine-readable medium with a plurality of particles having restingmass. Specific examples of massed machine-readable media may includenon-volatile memory, such as semiconductor memory devices (e.g.,electrically programmable read-only memory (EPROM), or electricallyerasable programmable read-only memory (EEPROM)) and flash memorydevices; magnetic disks, such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

The instructions 624 may further be transmitted or received over acommunications network 626 using a transmission medium via the networkinterface device/transceiver 620 utilizing any one of a number oftransfer protocols (e.g., frame relay, internet protocol (IP),transmission control protocol (TCP), user datagram protocol (UDP),hypertext transfer protocol (HTTP), etc.). Example communicationsnetworks may include a local area network (LAN), a wide area network(WAN), a packet data network (e.g., the Internet), mobile telephonenetworks (e.g., cellular networks), plain old telephone (POTS) networks,wireless data networks (e.g., Institute of Electrical and ElectronicsEngineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16family of standards known as WiMax®), IEEE 802.15.4 family of standards,and peer-to-peer (P2P) networks, among others. In an example, thenetwork interface device/transceiver 620 may include one or morephysical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or moreantennas to connect to the communications network 626. In an example,the network interface device/transceiver 620 may include a plurality ofantennas to wirelessly communicate using at least one of single-inputmultiple-output (SIMO), multiple-input multiple-output (MIMO), ormultiple-input single-output (MISO) techniques. The term “transmissionmedium” shall be taken to include any intangible medium that is capableof storing, encoding, or carrying instructions for execution by themachine 600 and includes digital or analog communications signals orother intangible media to facilitate communication of such software.

The operations and processes described and shown above may be carriedout or performed in any suitable order as desired in variousimplementations. Additionally, in certain implementations, at least aportion of the operations may be carried out in parallel. Furthermore,in certain implementations, less than or more than the operationsdescribed may be performed.

FIG. 7 illustrates an example of a storage medium 7000 to store code anddata as retransmission logic circuitry such as logic to implement theretransmission logic circuitry 619 shown in FIG. 6 and/or the otherlogic discussed herein for retransmission schemes. Storage medium 7000may comprise an article of manufacture. In some examples, storage medium7000 may include any non-transitory computer readable medium ormachine-readable medium, such as an optical, magnetic or semiconductorstorage. Storage medium 7000 may store diverse types of computerexecutable instructions, such as instructions to implement logic flowsand/or techniques described herein. Examples of a computer readable ormachine-readable storage medium may include any tangible media capableof storing electronic data, including volatile memory or non-volatilememory, removable or non-removable memory, erasable or non-erasablememory, writeable or re-writeable memory, and so forth. Examples ofcomputer executable instructions may include any suitable type of code,such as source code, compiled code, interpreted code, executable code,static code, dynamic code, object-oriented code, visual code, and thelike.

FIG. 8 illustrates an example computing platform 8000 such as the STAsillustrated in FIGS. 1A-G. In some examples, as shown in FIG. 8 ,computing platform 8000 may include a processing component 8010, otherplatform components or a communications interface 8030 such as thewireless network interfaces 1222 and 1252 shown in FIG. 1C. According tosome examples, computing platform 8000 may be a computing device such asa server in a system such as a data center or server farm that supportsa manager or controller for managing configurable computing resources asmentioned above. In some embodiments, the computing platform maycomprise a mobile device such as a smart phone, a tablet, a notebook, alaptop, a headset, a power amplifier, a television, a speaker, avideo/audio streaming device, a stereo, and/or the like.

According to some examples, processing component 8010 may executeprocessing operations or logic for apparatus 8015 described herein.Processing component 8010 may include various hardware elements,software elements, or a combination of both. Examples of hardwareelements may include devices, logic devices, components, processors,microprocessors, circuits, circuitry, processor circuits, processingcircuitry, circuit elements (e.g., transistors, resistors, capacitors,inductors, and so forth), integrated circuits (ICs), applicationspecific integrated circuits (ASIC), programmable logic devices (PLD),digital signal processors (DSP), field programmable gate array (FPGA),memory units, logic gates, registers, semiconductor device, chips,microchips, chip sets, and so forth. Examples of software elements,which may reside in the storage medium 8020, may include softwarecomponents, programs, applications, computer programs, applicationprograms, device drivers, system programs, software developmentprograms, machine programs, operating system software, middleware,firmware, software modules, routines, subroutines, functions, methods,procedures, software interfaces, application program interfaces (API),instruction sets, computing code, computer code, code segments, computercode segments, words, values, symbols, or any combination thereof. Whilediscussions herein describe elements of embodiments as software elementsand/or hardware elements, decisions to implement an embodiment usinghardware elements and/or software elements may vary in accordance withany number of design considerations or factors, such as desiredcomputational rate, power levels, heat tolerances, processing cyclebudget, input data rates, output data rates, memory resources, data busspeeds and other design or performance constraints.

In some examples, other platform components 8025 may include commoncomputing elements, such as one or more processors, multi-coreprocessors, co-processors, memory units, chipsets, controllers,peripherals, interfaces, oscillators, timing devices, video cards, audiocards, accelerator cards, neural network accelerator cards, multimediainput/output (I/O) components (e.g., digital displays), power supplies,and so forth. Examples of memory units may include without limitationvarious types of computer readable and machine readable storage media inthe form of one or more higher speed memory units, such as read-onlymemory (ROM), random-access memory (RAM), dynamic RAM (DRAM),Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM(SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM),electrically erasable programmable ROM (EEPROM), flash memory, polymermemory such as ferroelectric polymer memory, ovonic memory, phase changeor ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS)memory, magnetic or optical cards, an array of devices such as RedundantArray of Independent Disks (RAID) drives, solid state memory devices(e.g., universal serial bus (USB) memory), solid state drives (SSD) andany other type of storage media suitable for storing information.

In some examples, communications interface 8030 may include logic and/orfeatures to support a communication interface. For these examples,communications interface 8030 may include one or more communicationinterfaces that operate according to various communication protocols orstandards to communicate over direct or network communication links.Direct communications may occur via use of communication protocols orstandards described in one or more industry standards (includingprogenies and variants) such as those associated with the PeripheralComponent Interconnect (PCI) Express specification. Networkcommunications may occur via use of communication protocols or standardssuch as those described in one or more Ethernet standards promulgated bythe Institute of Electrical and Electronics Engineers (IEEE). Forexample, one such Ethernet standard may include IEEE 802.3-2012, Carriersense Multiple access with Collision Detection (CSMA/CD) Access Methodand Physical Layer Specifications, Published in December 2012(hereinafter “IEEE 802.3”). Network communication may also occuraccording to one or more OpenFlow specifications such as the OpenFlowHardware Abstraction API Specification. Network communications may alsooccur according to Infiniband Architecture Specification, Volume 1,Release 1.3, published in March 2015 (“the Infiniband Architecturespecification”).

Computing platform 8000 may be part of a computing device that may be,for example, a server, a server array or server farm, a web server, anetwork server, an Internet server, a workstation, a mini-computer, amain frame computer, a supercomputer, a network appliance, a webappliance, a distributed computing system, multiprocessor systems,processor-based systems, or combination thereof. Accordingly, variousembodiments of the computing platform 8000 may include or excludefunctions and/or specific configurations of the computing platform 8000described herein.

The components and features of computing platform 8000 may comprise anycombination of discrete circuitry, ASICs, logic gates and/or single chiparchitectures. Further, the features of computing platform 8000 maycomprise microcontrollers, programmable logic arrays and/ormicroprocessors or any combination of the foregoing where suitablyappropriate. Note that hardware, firmware and/or software elements maybe collectively or individually referred to herein as “logic”. “Logiccircuitry” may comprise one or more or any combination of hardwareelements, software elements, code, data, processing components 8010,other platform components 8025, communications interface 8030, and/orthe like, configured to perform any of the functionality discussed withrespect to FIGS. 1-8 .

One or more aspects of at least one example may comprise representativeinstructions stored on at least one machine-readable medium whichrepresents various logic within the processor, which when read by amachine, computing device or system causes the machine, computing deviceor system to fabricate logic to perform the techniques described herein.Such representations, known as “IP cores” may be stored on a tangible,machine readable medium and supplied to various customers ormanufacturing facilities to load into the fabrication machines that makethe logic or processor.

Some examples may include an article of manufacture or at least onecomputer-readable medium. A computer-readable medium may include anon-transitory storage medium to store logic. In some examples, thenon-transitory storage medium may include one or more types ofcomputer-readable storage media capable of storing electronic data,including volatile memory or non-volatile memory, removable ornon-removable memory, erasable or non-erasable memory, writeable orre-writeable memory, and so forth. In some examples, the logic mayinclude various software elements, such as software components,programs, applications, computer programs, application programs, systemprograms, machine programs, operating system software, middleware,firmware, software modules, routines, subroutines, functions, methods,procedures, software interfaces, API, instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof.

According to some examples, a computer-readable medium may include anon-transitory storage medium to store or maintain instructions thatwhen executed by a machine, computing device or system, cause themachine, computing device or system to perform methods and/or operationsin accordance with the described examples. The instructions may includeany suitable type of code, such as source code, compiled code,interpreted code, executable code, static code, dynamic code, and thelike. The instructions may be implemented according to a predefinedcomputer language, manner, or syntax, for instructing a machine,computing device or system to perform a certain function. Theinstructions may be implemented using any suitable high-level,low-level, object-oriented, visual, compiled and/or interpretedprogramming language.

Some examples may be described using the expression “coupled” and“connected” along with their derivatives. These terms are notnecessarily intended as synonyms for each other. For example,descriptions using the terms “connected” and/or “coupled” may indicatethat two or more elements are in direct physical or electrical contactwith each other. The term “coupled,” however, may also mean that two ormore elements are not in direct contact with each other, but yet stillco-operate or interact with each other.

Advantages of Some Embodiments

Several embodiments have one or more potentially advantages effects. Forinstance, retransmission logic circuitry, advantageously may efficientlyfind all potentially optimal network coding retransmission schemes forany application scenario when reliability is required within a timelimit. The discovered schemes improve spectral efficiency and reduceslatency of the wireless transmission, which helps enable highreliability applications in Wi-Fi (and other similar) systems andenhances user experiences. Several embodiments may advantageouslydetermine a first set of packets for transmission to a second STA in anaggregated medium access control (MAC) protocol data unit (A-MPDU);identify a retransmission scheme generated based on a time constraint,the retransmission scheme to determine a first number of packets totransmit based on the first set of packets; generate one or more networkcoded packets of a pool of network coded packets for transmission in theA-MPDU, wherein the one or more network coded packets comprise encodedcombinations of the first set of packets; generate the A-MPDU fortransmission to the second STA with the first number of packets, thefirst number of packets comprising at least one of the one or morenetwork coded packets from the pool of network coded packets; and causetransmission of the A-MPDU to the second STA. Several embodiments mayadvantageously encode linear combinations of packets with linearlyindependent encodings. Many embodiments may advantageously encode linearcombinations of packets with linear packet-level coding having a maximumdistance separable (MDS) property. Many embodiments may advantageouslyreceive a block acknowledgement (BlockAck) comprising a feedback value,wherein the feedback value is a number of additional network codedpackets requested by the second STA to decode the first set of packetsor a number of packets received by the second STA. In many embodiments,the feedback value may advantageously provide no indication of whichpackets have been received by the second STA and no indication of whichpackets are being requested by the second STA. Many embodiments mayadvantageously repeatedly cause transmission, in accordance with acorresponding sub-scheme of the retransmission scheme, wherein a numberof network coded packets in the pool of network coded packets selectedfor transmission for each of the sub-schemes is a function of acorresponding feedback value received from the second STA and a timeremaining for the retransmission scheme; and repeatedly receiveBlockAcks from the second STA, if sufficient time remains to receive theBlockAcks, wherein each of the BlockAcks comprises the correspondingfeedback value, wherein the corresponding feedback value is a number ofadditional network coded packets requested by the second STA to decodethe first set of packets or a number of packets received by the secondSTA. Many embodiments may advantageously receive a first number ofpackets from a first STA in an aggregated medium access control (MAC)protocol data unit (A-MPDU), the first number of packets comprisingnetwork coded packets for a retransmission scheme; decode the firstnumber of packets in accordance with a network coding scheme associatedwith the retransmission scheme, to determine one or more packets of afirst set of packets; determine a feedback value, wherein the feedbackvalue is a number of additional network coded packets to decode thefirst set of packets or a number of packets received by the second STA;generate the block acknowledgement (BlockAck) comprising the feedbackvalue; and cause transmission of the BlockAck to the first STA. And manyembodiments may advantageously receive a second A-MPDU comprising asecond number of packets; decode the second number of network codedpackets with one or more of the first number of packets to determineadditional packets of the first set of packets; and if sufficient timeremains to transmit a second BlockAck compute a second feedback valuebased on the total number of the first set of packets decoded or thenumber of packets received; generate the second BlockAck comprising thesecond feedback value; and cause transmission of the second BlockAck.

Examples of Further Embodiments

The following examples pertain to further embodiments. Specifics in theexamples may be used anywhere in one or more embodiments.

Example 1 is an apparatus comprising a memory; and logic circuitry of afirst station (STA) coupled with the memory to determine a first set ofpackets for transmission to a second STA in an aggregated medium accesscontrol (MAC) protocol data unit (A-MPDU); identify a retransmissionscheme generated based on a time constraint, the retransmission schemeto determine a first number of packets to transmit based on the firstset of packets; generate one or more network coded packets of a pool ofnetwork coded packets for transmission in the A-MPDU, wherein the one ormore network coded packets comprise encoded combinations of the firstset of packets; generate the A-MPDU for transmission to the second STAwith the first number of packets, the first number of packets comprisingat least one of the one or more network coded packets from the pool ofnetwork coded packets; and cause transmission of the A-MPDU to thesecond STA. In Example 2, the apparatus of Example 1, wherein the logiccircuitry comprises a processor coupled with the memory, and furthercomprising a radio coupled with the processor, a front-end modulecoupled with the radio, and an antenna coupled with the front-end moduleto transmit the A-MPDU. In Example 3, the apparatus of Example 1,wherein the one or more network coded packets are linearly independentfor any subset of network coded packets equal to or less than the numberof packets in the first set of packets. In Example 4, the apparatus ofExample 1, wherein the one or more network coded packets comprise linearcombinations of the first set of packets encoded with linearpacket-level coding having a maximum distance separable (MDS) property.In Example 5, the apparatus of Example 1, wherein the first number ofnetwork code packets comprises the first set of packets in addition tothe one or more network coded packets. In Example 6, the apparatus ofExample 1, the logic circuitry to further receive a blockacknowledgement (BlockAck) comprising a feedback value, wherein thefeedback value is a number of additional network coded packets requestedby the second STA to decode the first set of packets or a number ofpackets received by the second STA. In Example 7, the apparatus ofExample 6, wherein the feedback value provides no indication of whichpackets have been received by the second STA and no indication of whichpackets are being requested by the second STA. In Example 8, theapparatus of Example 6, the logic circuitry to further determine asecond number of packets based on a first sub-scheme of theretransmission scheme and based on the feedback value; causetransmission of the second number of packets in a second A-MPDU; andreceive a second BlockAck comprising a second feedback value ifsufficient time remains to receive the second BlockAck. In Example 9,the apparatus of Example 1, the logic circuitry to further repeatedlycause transmission, in accordance with a corresponding sub-scheme of theretransmission scheme, wherein a number of network coded packets in thepool of network coded packets selected for transmission for each of thesub-schemes is a function of a corresponding feedback value receivedfrom the second STA and a time remaining for the retransmission scheme;and repeatedly receive BlockAcks from the second STA, if sufficient timeremains to receive the BlockAcks, wherein each of the BlockAckscomprises the corresponding feedback value, wherein the correspondingfeedback value is a number of additional network coded packets requestedby the second STA to decode the first set of packets or a number ofpackets received by the second STA. In Example 10, the apparatus ofExample 1, the logic circuitry to further select a process by which tocompute the retransmission scheme, the process comprising a discreteprocess or a continuous process, the logic circuitry to select thediscrete process if a transmission time for one of the one or morenetwork coded packets and a sum (d) of a feedback time and a gap timeare multiples of a common unit time. In Example 11, the apparatus ofExample 1, the logic circuitry to further determine a set of potentiallyoptimal schemes based on the time constraint, a packet loss rate, afeedback time, and a gap time; and identify the retransmission schemefrom the set of potentially optimal schemes. In Example 12, theapparatus of Example 1, the logic circuitry to generate the one or morenetwork coded packets of the pool of network coded packets as needed inresponse to each feedback value received from the second STA, whereinthe one or more network coded packets network are generated withsystematic network codes known by the first STA and the second STA.

Example 13 is a non-transitory computer-readable medium, comprisinginstructions, which when executed by a processor, cause the processor toperform operations to determine, for a first station (STA), a first setof packets for transmission to a second STA in an aggregated mediumaccess control (MAC) protocol data unit (A-MPDU); identify aretransmission scheme generated based on a time constraint, theretransmission scheme to determine a first number of packets to transmitbased on the first set of packets; generate one or more network codedpackets of a pool of network coded packets for transmission in theA-MPDU, wherein the one or more network coded packets comprise encodedcombinations of the first set of packets; generate the A-MPDU fortransmission to the second STA with the first number of packets, thefirst number of packets comprising at least one of the one or morenetwork coded packets from the pool of network coded packets; and causetransmission of the A-MPDU to the second STA. In Example 14, thenon-transitory computer-readable medium of Example 13, wherein the oneor more network coded packets are linearly independent for any subset ofnetwork coded packets equal to or less than the number of packets in thefirst set of packets. In Example 15, the non-transitorycomputer-readable medium of Example 13, wherein the one or more networkcoded packets comprise linear combinations of the first set of packetsencoded with linear packet-level coding having a maximum distanceseparable (MDS) property. In Example 16, the non-transitorycomputer-readable medium of Example 13, wherein the first number ofnetwork code packets comprises the first set of packets in addition tothe one or more network coded packets. In Example 17, the non-transitorycomputer-readable medium of Example 13, the operations to furtherreceive a block acknowledgement (BlockAck) comprising a feedback value,wherein the feedback value is a number of additional network codedpackets requested by the second STA to decode the first set of packetsor a number of packets received by the second STA. In Example 18, thenon-transitory computer-readable medium of Example 17, wherein thefeedback value provides no indication of which packets have beenreceived by the second STA and no indication of which packets are beingrequested by the second STA. In Example 19, the non-transitorycomputer-readable medium of Example 17, the operations to furtherdetermine a second number of packets based on a first sub-scheme of theretransmission scheme and based on the feedback value; causetransmission of the second number of packets in a second A-MPDU; andreceive a second BlockAck comprising a second feedback value ifsufficient time remains to receive the second BlockAck. In Example 20,the non-transitory computer-readable medium of Example 13, theoperations to further repeatedly cause transmission, in accordance witha corresponding sub-scheme of the retransmission scheme, wherein anumber of network coded packets in the pool of network coded packetsselected for transmission for each of the sub-schemes is a function of acorresponding feedback value received from the second STA and a timeremaining for the retransmission scheme; and repeatedly receiveBlockAcks from the second STA, if sufficient time remains to receive theBlockAcks, wherein each of the BlockAcks comprises the correspondingfeedback value, wherein the corresponding feedback value is a number ofadditional network coded packets requested by the second STA to decodethe first set of packets or a number of packets received by the secondSTA. In Example 21, the non-transitory computer-readable medium ofExample 13, the operations to further select a process by which tocompute the retransmission scheme, the process comprising a discreteprocess or a continuous process, the operations to select the discreteprocess if a transmission time for one of the one or more network codedpackets and a sum of a feedback time and a gap time are multiples of acommon unit time. In Example 22, the non-transitory computer-readablemedium of Example 13, the operations to further determine a set ofpotentially optimal schemes based on the time constraint, a packet lossrate, a feedback time, and a gap time; and identify the retransmissionscheme from the set of potentially optimal schemes. In Example 23, thenon-transitory computer-readable medium of Example 13, the operations togenerate the one or more network coded packets of the pool of networkcoded packets as needed in response to each feedback value received fromthe second STA, wherein the one or more network coded packets networkare generated with systematic network codes known by the first STA andthe second STA.

Example 24 is an apparatus comprising a memory; and logic circuitry of asecond station (STA) coupled with the memory to receive a first numberof packets from a first STA in an aggregated medium access control (MAC)protocol data unit (A-MPDU), the first number of packets comprisingnetwork coded packets for a retransmission scheme; decode the firstnumber of packets in accordance with a network coding scheme associatedwith the retransmission scheme, to determine one or more packets of afirst set of packets; determine a feedback value, wherein the feedbackvalue is a number of additional network coded packets to decode thefirst set of packets or a number of packets received by the second STA;generate the block acknowledgement (BlockAck) comprising the feedbackvalue; and cause transmission of the BlockAck to the first STA. InExample 25, the apparatus of Example 24, wherein the logic circuitrycomprises a processor coupled with the memory, and further comprising aradio coupled with the processor, a front-end module coupled with theradio, and an antenna coupled with the front-end module to transmit theBlockAck. In Example 26, the apparatus of Example 24, wherein thenetwork coded packets are linearly independent for any subset of networkcoded packets equal to or less than the number of packets in the firstset of packets. In Example 27, the apparatus of Example 24, wherein thenetwork coded packets comprise linear combinations of the first set ofpackets encoded with linear packet-level coding having a maximumdistance separable (MDS) property. In Example 28, the apparatus ofExample 24, wherein the first number of network code packets comprisesthe first set of packets in addition to the network coded packets. InExample 29, the apparatus of Example 24, the logic circuitry to furtherreceive a second A-MPDU comprising a second number of packets; decodethe second number of network coded packets with one or more of the firstnumber of packets to determine additional packets of the first set ofpackets; and if sufficient time remains to transmit a second BlockAckcompute a second feedback value based on the total number of the firstset of packets decoded or the number of packets received; generate thesecond BlockAck comprising the second feedback value; and causetransmission of the second BlockAck. In Example 30, the apparatus ofExample 29, wherein the feedback value provides no indication of whichpackets have been received by the second STA and no indication of whichpackets are being requested by the second STA.

Example 31 is a non-transitory computer-readable medium, comprisinginstructions, which when executed by a processor, cause the processor toperform operations to receive a first number of packets from a firststation (STA) in an aggregated medium access control (MAC) protocol dataunit (A-MPDU), the first number of packets comprising network codedpackets for a retransmission scheme; decode the first number of packetsin accordance with a network coding scheme associated with theretransmission scheme, to determine one or more packets of a first setof packets; determine a feedback value for a second STA, wherein thefeedback value is a number of additional network coded packets to decodethe first set of packets or a number of packets received by the secondSTA; generate the block acknowledgement (BlockAck) comprising thefeedback value; and cause transmission of the BlockAck to the first STA.In Example 32, the non-transitory computer-readable medium of Example31, wherein the network coded packets are linearly independent for anysubset of network coded packets equal to or less than the number ofpackets in the first set of packets. In Example 33, the non-transitorycomputer-readable medium of Example 31, wherein the network codedpackets comprise linear combinations of the first set of packets encodedwith linear packet-level coding having a maximum distance separable(MDS) property. In Example 34, the non-transitory computer-readablemedium of Example 31, wherein the first number of network code packetscomprises the first set of packets in addition to the network codedpackets. In Example 35, the non-transitory computer-readable medium ofExample 31, the operations to further receive a second A-MPDU comprisinga second number of network coded packets; decode the second number ofnetwork coded packets with one or more of the first number of packets todetermine additional packets of the first set of packets; and ifsufficient time remains to transmit a second BlockAck compute a secondfeedback value based on the total number of the first set of packetsdecoded or the number of packets received; generate the second BlockAckcomprising the second feedback value; and cause transmission of thesecond BlockAck. In Example 36, the non-transitory computer-readablemedium of Example 35, wherein the feedback value provides no indicationof which packets have been received by the second STA and no indicationof which packets are being requested by the second STA.

Example 37 is a method to perform any one or more of Examples 13 though23.

Example 38 is an apparatus comprising a means for performing any one ormore of Examples 13 though 23.

Example 39 is a method to perform any one or more of Examples 31 though36.

Example 40 is an apparatus comprising a means for performing any one ormore of Examples 31 though 36.

What is claimed is:
 1. An apparatus comprising: a memory; and logiccircuitry of a first station (STA) coupled with the memory to: determinea first set of packets for transmission to a second STA in an aggregatedmedium access control (MAC) protocol data unit (A-MPDU); identify aretransmission scheme generated based on a time constraint, theretransmission scheme to determine a first number of packets to transmitbased on the first set of packets; generate one or more network codedpackets of a pool of network coded packets for transmission in theA-MPDU, wherein the one or more network coded packets comprise encodedcombinations of the first set of packets; generate the A-MPDU fortransmission to the second STA with the first number of packets, thefirst number of packets comprising at least one of the one or morenetwork coded packets from the pool of network coded packets; and causetransmission of the A-MPDU to the second STA.
 2. The apparatus of claim1, wherein the logic circuitry comprises a processor coupled with thememory, and further comprising a radio coupled with the processor, afront-end module coupled with the radio, and an antenna coupled with thefront-end module to transmit the A-MPDU.
 3. The apparatus of claim 1,wherein the one or more network coded packets are linearly independentfor any subset of network coded packets equal to or less than the numberof packets in the first set of packets.
 4. The apparatus of claim 1, thelogic circuitry to further receive a block acknowledgement (BlockAck)comprising a feedback value, wherein the feedback value is a number ofadditional network coded packets requested by the second STA to decodethe first set of packets or a number of packets received by the secondSTA, wherein the feedback value provides no indication of which packetshave been received by the second STA and no indication of which packetsare being requested by the second STA.
 5. The apparatus of claim 4, thelogic circuitry to further: determine a second number of packets basedon a first sub-scheme of the retransmission scheme and based on thefeedback value; cause transmission of the second number of packets in asecond A-MPDU; and receive a second BlockAck comprising a secondfeedback value if sufficient time remains to receive the secondBlockAck.
 6. The apparatus of claim 1, the logic circuitry to further:repeatedly cause transmission, in accordance with a correspondingsub-scheme of the retransmission scheme, wherein a number of networkcoded packets in the pool of network coded packets selected fortransmission for each of the sub-schemes is a function of acorresponding feedback value received from the second STA and a timeremaining for the retransmission scheme; and repeatedly receiveBlockAcks from the second STA, if sufficient time remains to receive theBlockAcks, wherein each of the BlockAcks comprises the correspondingfeedback value, wherein the corresponding feedback value is a number ofadditional network coded packets requested by the second STA to decodethe first set of packets or a number of packets received by the secondSTA.
 7. The apparatus of claim 1, the logic circuitry to further selecta process by which to compute the retransmission scheme, the processcomprising a discrete process or a continuous process, the logiccircuitry to select the discrete process if a transmission time for oneof the one or more network coded packets and a sum of a feedback timeand a gap time are multiples of a common unit time.
 8. The apparatus ofclaim 1, the logic circuitry to further: determine a set of potentiallyoptimal schemes based on the time constraint, a packet loss rate, afeedback time, and a gap time; and identify the retransmission schemefrom the set of potentially optimal schemes.
 9. A non-transitorycomputer-readable medium, comprising instructions, which when executedby a processor, cause the processor to perform operations to: determine,for a first station (STA), a first set of packets for transmission to asecond STA in an aggregated medium access control (MAC) protocol dataunit (A-MPDU); identify a retransmission scheme generated based on atime constraint, the retransmission scheme to determine a first numberof packets to transmit based on the first set of packets; generate oneor more network coded packets of a pool of network coded packets fortransmission in the A-MPDU, wherein the one or more network codedpackets comprise encoded combinations of the first set of packets;generate the A-MPDU for transmission to the second STA with the firstnumber of packets, the first number of packets comprising at least oneof the one or more network coded packets from the pool of network codedpackets; and cause transmission of the A-MPDU to the second STA.
 10. Thenon-transitory computer-readable medium of claim 9, wherein the one ormore network coded packets comprise linear combinations of the first setof packets encoded with linear packet-level coding having a maximumdistance separable (MDS) property.
 11. The non-transitorycomputer-readable medium of claim 9, the operations to further receive ablock acknowledgement (BlockAck) comprising a feedback value, whereinthe feedback value is a number of additional network coded packetsrequested by the second STA to decode the first set of packets or anumber of packets received by the second STA.
 12. The non-transitorycomputer-readable medium of claim 11, the operations to further:determine a second number of packets based on a first sub-scheme of theretransmission scheme and based on the feedback value; causetransmission of the second number of packets in a second A-MPDU; andreceive a second BlockAck comprising a second feedback value ifsufficient time remains to receive the second BlockAck.
 13. An apparatuscomprising: a memory; and logic circuitry of a second station (STA)coupled with the memory to: receive a first number of packets from afirst STA in an aggregated medium access control (MAC) protocol dataunit (A-MPDU), the first number of packets comprising network codedpackets for a retransmission scheme; decoding the first number ofpackets in accordance with a network coding scheme associated with theretransmission scheme, to determine one or more packets of a first setof packets; determine a feedback value, wherein the feedback value is anumber of additional network coded packets to decode the first set ofpackets or a number of packets received by the second STA; generate theblock acknowledgement (BlockAck) comprising the feedback value; andcause transmission of the BlockAck to the first STA.
 14. The apparatusof claim 13, wherein the logic circuitry comprises a processor coupledwith the memory, and further comprising a radio coupled with theprocessor, a front-end module coupled with the radio, and an antennacoupled with the front-end module to transmit the BlockAck.
 15. Theapparatus of claim 13, wherein the network coded packets are linearlyindependent for any subset of network coded packets equal to or lessthan the number of packets in the first set of packets.
 16. Theapparatus of claim 13, the logic circuitry to further: receive a secondA-MPDU comprising a second number of packets; decode the second numberof network coded packets with one or more of the first number of packetsto determine additional packets of the first set of packets; and ifsufficient time remains to transmit a second BlockAck: compute a secondfeedback value based on the total number of the first set of packetsdecoded or the number of packets received; generate the second BlockAckcomprising the second feedback value; and cause transmission of thesecond BlockAck.
 17. A non-transitory computer-readable medium,comprising instructions, which when executed by a processor, cause theprocessor to perform operations to: receive a first number of packetsfrom a first station (STA) in an aggregated medium access control (MAC)protocol data unit (A-MPDU), the first number of packets comprisingnetwork coded packets for a retransmission scheme; decode the firstnumber of packets in accordance with a network coding scheme associatedwith the retransmission scheme, to determine one or more packets of afirst set of packets; determine a feedback value for a second STA,wherein the feedback value is a number of additional network codedpackets to decode the first set of packets or a number of packetsreceived by the second STA; generate the block acknowledgement(BlockAck) comprising the feedback value; and cause transmission of theBlockAck to the first STA.
 18. The non-transitory computer-readablemedium of claim 17, wherein the network coded packets comprise linearcombinations of the first set of packets encoded with linearpacket-level coding having a maximum distance separable (MDS) property.19. The non-transitory computer-readable medium of claim 17, theoperations to further: receive a second A-MPDU comprising a secondnumber of network coded packets; decode the second number of networkcoded packets with one or more of the first number of packets todetermine additional packets of the first set of packets; and ifsufficient time remains to transmit a second BlockAck: compute a secondfeedback value based on the total number of the first set of packetsdecoded or the number of packets received; generate the second BlockAckcomprising the second feedback value; and cause transmission of thesecond BlockAck.
 20. The non-transitory computer-readable medium ofclaim 19, wherein the feedback value provides no indication of whichpackets have been received by the second STA and no indication of whichpackets are being requested by the second STA.